Class: WebammToRails::Sources::Controllers::ApplicationController::Authentication::DeviseGroupsDefinition::Presenter

Inherits:
Object
  • Object
show all
Defined in:
lib/webamm_to_rails/sources/controllers/application_controller/authentication/devise_groups_definition/presenter.rb

Instance Method Summary collapse

Constructor Details

#initialize(devise_mappings:) ⇒ Presenter

Returns a new instance of Presenter.



8
9
10
# File 'lib/webamm_to_rails/sources/controllers/application_controller/authentication/devise_groups_definition/presenter.rb', line 8

def initialize(devise_mappings:)
  @devise_mappings = devise_mappings
end

Instance Method Details

#collectionObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/webamm_to_rails/sources/controllers/application_controller/authentication/devise_groups_definition/presenter.rb', line 12

def collection
  base_collection = []

  @devise_mappings.each_pair do |group, group_name|
    next if group.size == 1

    contains_def = group.map { |group_el| ":#{group_el.singularize}" }.join(', ')
    base_collection << "devise_group :#{group_name}, contains: [#{contains_def}]"
  end

  base_collection
end