Sha256: 6c29ab20bf259c89221b392e3af4d0849b8c2815ad2d344f76a38fd64c2e9f0b

Contents?: true

Size: 734 Bytes

Versions: 1

Compression:

Stored size: 734 Bytes

Contents

class ApiControllerGenerator < Rails::Generators::NamedBase
  source_root File.expand_path('../templates', __FILE__)
  argument :actions, type: :array, default: []

  def generate_api_controller
    template "controller.rb", "app/controllers/api/v1/#{plural_name}_controller.rb"
    actions.each do |action|
      @action = action
      template "schema.rb", "app/schemas/#{plural_name}/#{plural_name}_#{action}_schema.rb"
      template "use_case.rb", "app/use_cases/#{plural_name}/#{action}.rb"
    end
    template "presenter.rb", "app/presenters/#{singular_name}_presenter.rb"
    template "array_presenter.rb", "app/presenters/#{plural_name}_presenter.rb"
    template "spec.rb", "spec/requests/#{plural_name}_spec.rb"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails-api-controller-generator-0.1.1 lib/generators/api_controller/api_controller_generator.rb