Sha256: eb58e15252e49ba25f8fcf3f314f9d9db8bc3aa2fbe6ebeb8d33eb15839782c1
Contents?: true
Size: 850 Bytes
Versions: 1
Compression:
Stored size: 850 Bytes
Contents
module TheRole module UserModel include TheRole::Base include TheRole::ParamHelper def role_hash; @role_hash ||= role.to_hash; end # 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 def owner? obj return false unless obj return true if admin? section_name = obj.class.to_s.tableize return true if moderator?(section_name) return id == obj.id if obj.is_a?(User) return id == obj[:user_id] if obj[:user_id] return id == obj[:user][:id] if obj[:user] false end def self.included(base) base.class_eval do belongs_to :role after_save { |user| user.instance_variable_set(:@role_hash, nil) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
the_role-1.7.0 | lib/the_role/modules/user_model.rb |