Module: TheRole::Api::User
- Extended by:
- ActiveSupport::Concern
- Includes:
- BaseMethods
- Defined in:
- app/models/concerns/the_role/api/user.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#owner?(obj) ⇒ Boolean
FALSE if object is nil If object is a USER - check for youself Check for owner field - :user_id Check for owner object if owner field is not :user_id.
-
#role_hash ⇒ Object
version for ‘User` model.
Methods included from BaseMethods
#admin?, #any_role?, #has_role?, #has_section?, #moderator?
Instance Method Details
#owner?(obj) ⇒ Boolean
FALSE if object is nil If object is a USER - check for youself Check for owner field - :user_id Check for owner object if owner field is not :user_id
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/models/concerns/the_role/api/user.rb', line 33 def owner? obj return false unless obj return true if admin? section_name = obj.class.to_s.tableize return true if moderator?(section_name) # obj is User, simple way to define user_id return id == obj.id if obj.is_a?(self.class) # few ways to define user_id return id == obj.user_id if obj.respond_to? :user_id return id == obj[:user_id] if obj[:user_id] return id == obj[:user][:id] if obj[:user] false end |
#role_hash ⇒ Object
version for ‘User` model
11 12 13 |
# File 'app/models/concerns/the_role/api/user.rb', line 11 def role_hash @role_hash ||= role.try(:to_hash) || {} end |