Module: Bizness::Policy::ClassMethods

Defined in:
lib/bizness/policy.rb

Instance Method Summary collapse

Instance Method Details

#__requirements__Object



83
84
85
# File 'lib/bizness/policy.rb', line 83

def __requirements__
  @__requirements__
end

#__violation_key_prefix__Object



76
77
78
79
80
81
# File 'lib/bizness/policy.rb', line 76

def __violation_key_prefix__
  @__violation_key_prefix__ ||= begin
    policy = self.name.gsub(/(.)([A-Z])/, '\1_\2').gsub("::_", ".").downcase
    "#{policy}.violations"
  end
end

#policy_enforces(*method_names) ⇒ Object



67
68
69
# File 'lib/bizness/policy.rb', line 67

def policy_enforces(*method_names)
  @__requirements__ = method_names
end

#violation_message(method) ⇒ Object



71
72
73
74
# File 'lib/bizness/policy.rb', line 71

def violation_message(method)
  message_key = "#{__violation_key_prefix__}.#{method.to_s.delete("?")}"
  I18n.t(message_key)
end