Module: Freeberry::Models::User::InstanceMethods
- Defined in:
- lib/freeberry/models/user.rb
Instance Method Summary collapse
- #admin? ⇒ Boolean
- #current_role ⇒ Object
- #events_for_current_state ⇒ Object
- #has_login? ⇒ Boolean
- #has_role?(role_name) ⇒ Boolean
- #manager? ⇒ 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
30 31 32 |
# File 'lib/freeberry/models/user.rb', line 30 def admin? has_role?(:admin) end |
#current_role ⇒ Object
57 58 59 |
# File 'lib/freeberry/models/user.rb', line 57 def current_role self.roles.first end |
#events_for_current_state ⇒ Object
84 85 86 87 88 |
# File 'lib/freeberry/models/user.rb', line 84 def events_for_current_state events = [] events << 'activate' if state == 'register' events end |
#has_login? ⇒ Boolean
42 43 44 |
# File 'lib/freeberry/models/user.rb', line 42 def has_login? respond_to?(:login) end |
#has_role?(role_name) ⇒ Boolean
34 35 36 |
# File 'lib/freeberry/models/user.rb', line 34 def has_role?(role_name) role_symbols.include?(role_name.to_sym) end |
#manager? ⇒ Boolean
26 27 28 |
# File 'lib/freeberry/models/user.rb', line 26 def manager? has_role?(:manager) end |
#role_symbols ⇒ Object
53 54 55 |
# File 'lib/freeberry/models/user.rb', line 53 def role_symbols (roles || []).map {|r| r.to_sym} end |
#role_type_id ⇒ Object
61 62 63 64 65 |
# File 'lib/freeberry/models/user.rb', line 61 def role_type_id if current_role current_role.role_type.id end end |
#role_type_id=(value) ⇒ Object
67 68 69 70 71 72 73 74 75 |
# File 'lib/freeberry/models/user.rb', line 67 def role_type_id=(value) role_id = value.blank? ? nil : value.to_i if ::RoleType.all.map(&:id).include?(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
46 47 48 49 50 51 |
# File 'lib/freeberry/models/user.rb', line 46 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
38 39 40 |
# File 'lib/freeberry/models/user.rb', line 38 def roles_empty? self.roles.empty? end |
#state ⇒ Object
77 78 79 80 81 82 |
# File 'lib/freeberry/models/user.rb', line 77 def state return 'active' if active? return 'register' unless confirmed? return 'suspend' if access_locked? 'pending' end |