Class: Cms::UsersService::UsersFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/cms/users_service/users_factory.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.factoryObject



8
9
10
# File 'lib/cms/users_service/users_factory.rb', line 8

def self.factory
  @factory || new
end

Instance Method Details

#extend_user(user, group_codes: nil) ⇒ Object



22
23
24
25
26
27
# File 'lib/cms/users_service/users_factory.rb', line 22

def extend_user(user, group_codes: nil)
  user.send :extend, CmsUserCompatibilityModule unless user.try :cms_user_compatible?
  user.send :extend, UserGroupsByCodesModule unless user.respond_to? :group_codes=
  add_groups_to_user(user, group_codes) if group_codes
  user
end

#guest_userObject



12
13
14
# File 'lib/cms/users_service/users_factory.rb', line 12

def guest_user
  load_guest_user.tap { |u| extend_user u }
end

#user(login, group_codes: nil) ⇒ Object



16
17
18
19
20
# File 'lib/cms/users_service/users_factory.rb', line 16

def user(, group_codes: nil)
  load_user().tap do |user|
    extend_user(user, group_codes: group_codes)
  end
end