Class: ApiScaffold::Generators::ApiScaffoldGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- ApiScaffold::Generators::ApiScaffoldGenerator
show all
- Includes:
- GeneratorHelpers, Rails::Generators::ResourceHelpers
- Defined in:
- lib/generators/api_scaffold/api_scaffold_generator.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
#attributes_hash, #attributes_string, #fixture_name, #fixture_replacement, #gem_available?, #prefix, #prefixed_class_name, #prefixed_controller_class_name, #prefixed_url, #test_framework
Constructor Details
16
17
18
|
# File 'lib/generators/api_scaffold/api_scaffold_generator.rb', line 16
def initialize(args, *options)
super
end
|
Instance Attribute Details
#attributes ⇒ Object
Returns the value of attribute attributes.
11
12
13
|
# File 'lib/generators/api_scaffold/api_scaffold_generator.rb', line 11
def attributes
@attributes
end
|
Instance Method Details
#add_routes ⇒ Object
40
41
42
43
44
45
46
47
|
# File 'lib/generators/api_scaffold/api_scaffold_generator.rb', line 40
def add_routes
routes_string = " resources :#{controller_name}\n"
inject_into_file 'config/routes.rb', after: " scope :api, defaults: { format: :json } do\n namespace :#{prefix} do\n" do
routes_string
end
end
|
#create_controller_files ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/generators/api_scaffold/api_scaffold_generator.rb', line 24
def create_controller_files
if gem_available?('fast_jsonapi') || gem_available?('active_model_serializers')
template "controllers/serializer_controller.rb", File.join("app/controllers/", prefix, "#{controller_file_name}_controller.rb")
else
template "controllers/controller.rb", File.join("app/controllers/", prefix, "#{controller_file_name}_controller.rb")
end
end
|
#create_controller_test_files ⇒ Object
32
33
34
35
36
37
38
|
# File 'lib/generators/api_scaffold/api_scaffold_generator.rb', line 32
def create_controller_test_files
if test_framework == :rspec
template "tests/rspec/controller_spec.rb", File.join("spec/controllers", prefix, "#{controller_file_name}_controller_spec.rb")
else
template "tests/test_unit/controller_spec.rb", File.join("test/controllers", prefix, "#{controller_file_name}_controller_test.rb")
end
end
|
#create_serializer_files ⇒ Object
49
50
51
|
# File 'lib/generators/api_scaffold/api_scaffold_generator.rb', line 49
def create_serializer_files
invoke "serializer" if gem_available?('fast_jsonapi') || gem_available?('active_model_serializers')
end
|