Module: Authorule::PermissionHolder::ClassMethods

Defined in:
lib/authorule/permission_holder.rb

Instance Method Summary collapse

Instance Method Details

#is_permission_holder!(options = {}) ⇒ Object

Marks this class as a permission holder with the given options.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • association_name (#to_sym) — default: :permission_rules

    The name of the permission rules association.



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/authorule/permission_holder.rb', line 26

def is_permission_holder!(options = {})
  association_name = options[:association_name] || :permission_rules

  class_eval "    has_many :\#{association_name}\n\n    def permission_rule_base(reload = false)\n      @permission_rule_base = nil if reload\n      @permission_rule_base ||= RuleBase.new(\#{association_name}(true))\n    end\n  RUBY\nend\n", __FILE__, __LINE__+1