class ApiScaffold::Generators::ApiScaffoldGenerator

Attributes

attributes[RW]

Public Instance Methods

add_routes() click to toggle source
# File lib/generators/api_scaffold/api_scaffold_generator.rb, line 42
def add_routes
  # Include tabs and line break for proper formatting
  routes_string = "      resources :#{controller_file_name}, except: [:new, :edit]\n"
  # Inject into file following the api scope and v1 namespace
  inject_into_file 'config/routes.rb', after: "  namespace :api, defaults: { format: :json } do\n    namespace :#{prefix} do\n" do
    routes_string
  end
end
create_controller_files() click to toggle source
# File lib/generators/api_scaffold/api_scaffold_generator.rb, line 26
def create_controller_files
  if gem_available?('fast_jsonapi') || gem_available?('active_model_serializers')
    template "controllers/serializer_controller.rb", File.join("app/controllers/api/", prefix, "#{controller_file_name}_controller.rb")
  else
    template "controllers/controller.rb", File.join("app/controllers/api", prefix, "#{controller_file_name}_controller.rb")
  end
end
create_controller_test_files() click to toggle source
# File lib/generators/api_scaffold/api_scaffold_generator.rb, line 34
def create_controller_test_files
  if test_framework == :rspec
    template "tests/rspec/controller_spec.rb", File.join("spec/controllers/api", prefix, "#{controller_file_name}_controller_spec.rb")
  else
    template "tests/test_unit/controller_spec.rb", File.join("test/controllers/api", prefix, "#{controller_file_name}_controller_test.rb")
  end
end
create_serializer_files() click to toggle source
# File lib/generators/api_scaffold/api_scaffold_generator.rb, line 51
def create_serializer_files
  if gem_available?('fast_jsonapi') || gem_available?('active_model_serializers')
    invoke "serializer"
    template "serializers/error_serializer.rb", File.join("app/serializers", "error_serializer.rb") unless error_serializer_created?
  end
end