Class: WebammToRails::Sources::Routes::ResourceDefinition::Presenter

Inherits:
Object
  • Object
show all
Defined in:
lib/webamm_to_rails/sources/routes/resource_definition/presenter.rb

Instance Method Summary collapse

Constructor Details

#initialize(crud_definition:) ⇒ Presenter

Returns a new instance of Presenter.



6
7
8
# File 'lib/webamm_to_rails/sources/routes/resource_definition/presenter.rb', line 6

def initialize(crud_definition:)
  @crud_definition = crud_definition
end

Instance Method Details

#renderObject



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/webamm_to_rails/sources/routes/resource_definition/presenter.rb', line 10

def render
  base_def = "resources :#{@crud_definition.table}"

  return base_def if @crud_definition.actions.size == 7

  base_actions = @crud_definition.actions.map(&:name)
  base_actions << 'edit' if base_actions.include?('update')
  base_actions << 'new' if base_actions.include?('create')

  base_def + ", only: %i[#{base_actions.join(' ')}]"
end