class Strategize::PolicyGroup
A collection of policies.
Attributes
policies[R]
Public Class Methods
new()
click to toggle source
Create a new PolicyGroup
# File lib/strategize/policies/policy_group.rb, line 7 def initialize @policies = [] end
Public Instance Methods
add(policy)
click to toggle source
Add policy to the group
@param policy [Strategize::Policy] a class that includes the Policy
module @return [void]
# File lib/strategize/policies/policy_group.rb, line 15 def add(policy) fail Strategize::NotPolicyError unless policy?(policy) @policies.push(policy) end
Private Instance Methods
policy?(policy)
click to toggle source
Check if a policy includes the Policy
module
@private @param policy [Class] the class to check
# File lib/strategize/policies/policy_group.rb, line 26 def policy?(policy) policy.included_modules.include?(Policy) end