Sha256: 5263ba91855d658590275a002979892fd2e760fa39c5a5dc4634174df5509d65

Contents?: true

Size: 820 Bytes

Versions: 2

Compression:

Stored size: 820 Bytes

Contents

module WebammToRails
  module Sources
    module Controllers
      module ApplicationController
        module Authentication
          module DeviseGroupsDefinition
            class Presenter
              def initialize(devise_mappings:)
                @devise_mappings = devise_mappings
              end

              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
            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
webamm_to_rails-7.0.1 lib/webamm_to_rails/sources/controllers/application_controller/authentication/devise_groups_definition/presenter.rb
webamm_to_rails-7.0.0 lib/webamm_to_rails/sources/controllers/application_controller/authentication/devise_groups_definition/presenter.rb