class DeclarativePolicy::Configuration
Constants
- ConfigurationError
Public Class Methods
new()
click to toggle source
# File lib/declarative_policy/configuration.rb, line 7 def initialize @named_policies = {} @name_transformation = ->(name) { "#{name}Policy" } end
Public Instance Methods
name_transformation(&block)
click to toggle source
# File lib/declarative_policy/configuration.rb, line 24 def name_transformation(&block) @name_transformation = block nil end
named_policy(name, policy = nil)
click to toggle source
# File lib/declarative_policy/configuration.rb, line 12 def named_policy(name, policy = nil) @named_policies[name] = policy if policy @named_policies[name] || raise(ConfigurationError, "No #{name} policy configured") end
nil_policy(policy = nil)
click to toggle source
# File lib/declarative_policy/configuration.rb, line 18 def nil_policy(policy = nil) @nil_policy = policy if policy @nil_policy || ::DeclarativePolicy::NilPolicy end
policy_class(domain_class_name)
click to toggle source
# File lib/declarative_policy/configuration.rb, line 29 def policy_class(domain_class_name) return unless domain_class_name @name_transformation.call(domain_class_name).constantize rescue NameError nil end