Module: Sunrise::Models::User::InstanceMethods
- Defined in:
- lib/sunrise/models/user.rb
Instance Method Summary collapse
- #admin? ⇒ Boolean
- #current_role ⇒ Object
- #default? ⇒ Boolean
- #events_for_current_state ⇒ Object
- #has_login? ⇒ Boolean
- #has_role?(role_name) ⇒ Boolean
- #moderator? ⇒ Boolean
- #role_symbols ⇒ Object
- #role_type_id ⇒ Object
- #role_type_id=(value) ⇒ Object
- #roles_attributes=(value) ⇒ Object
- #roles_empty? ⇒ Boolean
- #state ⇒ Object
Instance Method Details
#admin? ⇒ Boolean
36 37 38 |
# File 'lib/sunrise/models/user.rb', line 36 def admin? has_role?(:admin) end |
#current_role ⇒ Object
63 64 65 |
# File 'lib/sunrise/models/user.rb', line 63 def current_role self.roles.first end |
#default? ⇒ Boolean
28 29 30 |
# File 'lib/sunrise/models/user.rb', line 28 def default? has_role?(:default) end |
#events_for_current_state ⇒ Object
90 91 92 93 94 |
# File 'lib/sunrise/models/user.rb', line 90 def events_for_current_state events = [] events << 'activate' if state == 'register' events end |
#has_login? ⇒ Boolean
48 49 50 |
# File 'lib/sunrise/models/user.rb', line 48 def has_login? respond_to?(:login) end |
#has_role?(role_name) ⇒ Boolean
40 41 42 |
# File 'lib/sunrise/models/user.rb', line 40 def has_role?(role_name) role_symbols.include?(role_name.to_sym) end |
#moderator? ⇒ Boolean
32 33 34 |
# File 'lib/sunrise/models/user.rb', line 32 def moderator? has_role?(:moderator) end |
#role_symbols ⇒ Object
59 60 61 |
# File 'lib/sunrise/models/user.rb', line 59 def role_symbols (roles || []).map {|r| r.to_sym} end |
#role_type_id ⇒ Object
67 68 69 70 71 |
# File 'lib/sunrise/models/user.rb', line 67 def role_type_id if current_role current_role.role_type.id end end |
#role_type_id=(value) ⇒ Object
73 74 75 76 77 78 79 80 81 |
# File 'lib/sunrise/models/user.rb', line 73 def role_type_id=(value) role_id = value.blank? ? nil : value.to_i if ::RoleType.legal?(role_id) ::RoleType.all.each do |role_type| create_or_destroy_role(role_type.id, role_type.id == role_id) end end end |
#roles_attributes=(value) ⇒ Object
52 53 54 55 56 57 |
# File 'lib/sunrise/models/user.rb', line 52 def roles_attributes=(value) = value || {} .each do |k, v| create_or_destroy_role(k.to_i, v.to_i == 1) end end |
#roles_empty? ⇒ Boolean
44 45 46 |
# File 'lib/sunrise/models/user.rb', line 44 def roles_empty? self.roles.empty? end |
#state ⇒ Object
83 84 85 86 87 88 |
# File 'lib/sunrise/models/user.rb', line 83 def state return 'active' if active_for_authentication? return 'register' unless confirmed? return 'suspend' if access_locked? 'pending' end |