Class: Develoz::Generators::ApiGenerator
- Inherits:
-
Base
- Object
- Rails::Generators::Base
- Base
- Develoz::Generators::ApiGenerator
show all
- Defined in:
- lib/generators/develoz/api/api_generator.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#add_gem, #app_class, #app_name, #append_env, #apply_template, #ensure_gitignore, #inject_once, #insert_route, #migration_exists?, next_migration_timestamp
Class Method Details
.source_root ⇒ Object
8
9
10
|
# File 'lib/generators/develoz/api/api_generator.rb', line 8
def self.source_root
File.expand_path("templates", __dir__)
end
|
Instance Method Details
#add_api_gems ⇒ Object
12
13
14
15
16
17
|
# File 'lib/generators/develoz/api/api_generator.rb', line 12
def add_api_gems
add_gem "blueprinter"
add_gem "rswag-api"
add_gem "rswag-ui"
add_gem "rswag-specs", group: %i[test]
end
|
#create_base_controller ⇒ Object
19
20
21
22
|
# File 'lib/generators/develoz/api/api_generator.rb', line 19
def create_base_controller
template "app/controllers/api/v1/base_controller.rb.tt",
"app/controllers/api/v1/base_controller.rb"
end
|
#create_blueprinter_initializer ⇒ Object
24
25
26
27
|
# File 'lib/generators/develoz/api/api_generator.rb', line 24
def create_blueprinter_initializer
template "config/initializers/blueprinter.rb.tt",
"config/initializers/blueprinter.rb"
end
|
#create_example_blueprint ⇒ Object
29
30
31
32
|
# File 'lib/generators/develoz/api/api_generator.rb', line 29
def create_example_blueprint
template "app/blueprints/example_blueprint.rb.tt",
"app/blueprints/example_blueprint.rb"
end
|
#create_example_request_spec ⇒ Object
49
50
51
52
|
# File 'lib/generators/develoz/api/api_generator.rb', line 49
def create_example_request_spec
template "spec/requests/api/v1/examples_spec.rb.tt",
"spec/requests/api/v1/examples_spec.rb"
end
|
#create_rswag_api_initializer ⇒ Object
34
35
36
37
|
# File 'lib/generators/develoz/api/api_generator.rb', line 34
def create_rswag_api_initializer
template "config/initializers/rswag_api.rb.tt",
"config/initializers/rswag_api.rb"
end
|
#create_rswag_ui_initializer ⇒ Object
39
40
41
42
|
# File 'lib/generators/develoz/api/api_generator.rb', line 39
def create_rswag_ui_initializer
template "config/initializers/rswag_ui.rb.tt",
"config/initializers/rswag_ui.rb"
end
|
#insert_rswag_routes ⇒ Object
44
45
46
47
|
# File 'lib/generators/develoz/api/api_generator.rb', line 44
def insert_rswag_routes
insert_route "mount Rswag::Ui::Engine => '/api-docs'"
insert_route "mount Rswag::Api::Engine => '/api-docs'"
end
|