Module: Monarchy::ActsAsMember::SupportMethods
- Defined in:
- lib/monarchy/acts_as_member.rb
Instance Method Summary collapse
- #include_callbacks ⇒ Object
- #include_relationships ⇒ Object
- #include_scopes ⇒ Object
- #include_validators ⇒ Object
Instance Method Details
#include_callbacks ⇒ Object
31 32 33 |
# File 'lib/monarchy/acts_as_member.rb', line 31 def include_callbacks after_destroy :revoke_access, if: :members_access_revoke? end |
#include_relationships ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/monarchy/acts_as_member.rb', line 41 def include_relationships has_many :members_roles, dependent: :destroy, class_name: 'Monarchy::MembersRole' has_many :roles, -> { order(level: :desc) }, through: :members_roles, class_name: "::#{Monarchy.role_class}" belongs_to :user, class_name: "::#{Monarchy.user_class}" belongs_to :hierarchy, class_name: "::#{Monarchy.hierarchy_class}" end |
#include_scopes ⇒ Object
24 25 26 27 28 29 |
# File 'lib/monarchy/acts_as_member.rb', line 24 def include_scopes scope :accessible_for, (lambda do |user| Monarchy::Validators.user(user) where(hierarchy: Monarchy.hierarchy_class.accessible_for(user)) end) end |
#include_validators ⇒ Object
35 36 37 38 39 |
# File 'lib/monarchy/acts_as_member.rb', line 35 def include_validators validates :user_id, uniqueness: { scope: :hierarchy_id } validates :user, presence: true validate :hierarchy_or_resource end |