module ErpTechSvcs::Extensions::ActiveRecord::HasSecurityRoles::InstanceMethods
Public Instance Methods
add_role(role)
click to toggle source
# File lib/erp_tech_svcs/extensions/active_record/has_security_roles.rb, line 37 def add_role(role) role = role.is_a?(SecurityRole) ? role : SecurityRole.find_by_internal_identifier(role.to_s) unless self.has_role?(role) self.security_roles << role self.save end end
Also aliased as: add_security_role
add_roles(*passed_roles)
click to toggle source
# File lib/erp_tech_svcs/extensions/active_record/has_security_roles.rb, line 46 def add_roles(*passed_roles) passed_roles.flatten! passed_roles = passed_roles.first if passed_roles.first.is_a? Array passed_roles.each do |role| self.add_role(role) end end
Also aliased as: add_security_roles
has_role?(*passed_roles)
click to toggle source
# File lib/erp_tech_svcs/extensions/active_record/has_security_roles.rb, line 76 def has_role?(*passed_roles) result = false passed_roles.flatten! passed_roles.each do |role| role_iid = role.is_a?(SecurityRole) ? role.internal_identifier : role.to_s self.security_roles.each do |this_role| result = true if (this_role.internal_identifier == role_iid) break if result end break if result end result end
Also aliased as: has_security_role?
remove_all_roles()
click to toggle source
# File lib/erp_tech_svcs/extensions/active_record/has_security_roles.rb, line 70 def remove_all_roles self.security_roles = [] self.save end
Also aliased as: remove_all_security_roles
remove_role(role)
click to toggle source
# File lib/erp_tech_svcs/extensions/active_record/has_security_roles.rb, line 55 def remove_role(role) role = role.is_a?(SecurityRole) ? role : SecurityRole.find_by_internal_identifier(role.to_s) self.security_roles.delete(role) if has_role?(role) end
Also aliased as: remove_security_role
remove_roles(*passed_roles)
click to toggle source
# File lib/erp_tech_svcs/extensions/active_record/has_security_roles.rb, line 62 def remove_roles(*passed_roles) passed_roles.flatten! passed_roles.each do |role| self.remove_role(role) end end
Also aliased as: remove_security_roles
roles()
click to toggle source
# File lib/erp_tech_svcs/extensions/active_record/has_security_roles.rb, line 33 def roles self.security_roles end
roles_not()
click to toggle source
# File lib/erp_tech_svcs/extensions/active_record/has_security_roles.rb, line 29 def roles_not SecurityRole.where("id NOT IN (#{self.security_roles.select(:id).to_sql})") end