Module: Policy::Follower::ClassMethods

Defined in:
lib/policy/follower.rb

Overview

Methods to be added to the follower class

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#policiesPolicy::Follower::Policies (readonly)

The collection of followed policies



41
42
43
# File 'lib/policy/follower.rb', line 41

def policies
  @policies ||= Policies.new(self)
end

Instance Method Details

#follows_policies(*names) ⇒ :follows_policies

Declares policies to be followed

Mutates the object by adding items to its #policies.

Parameters:

  • names (Symbol, Array<Symbol>)

Returns:

  • (:follows_policies)

    the name of the method



31
32
33
34
35
# File 'lib/policy/follower.rb', line 31

def follows_policies(*names)
  names.each(&method(:follows_policy))

  :follows_policies
end

#follows_policy(name) ⇒ :follows_policy

Declares a policy to be followed

Mutates the object by adding an item to its #policies.

Parameters:

  • name (Symbol)

Returns:

  • (:follows_policy)

    the name of the method



18
19
20
21
22
# File 'lib/policy/follower.rb', line 18

def follows_policy(name)
  policies.add name

  :follows_policy
end