class Rulz::Attribute::Condition
Attributes
name[R]
proc[R]
Public Class Methods
find(klass, attr, name)
click to toggle source
# File lib/rulz/attribute.rb, line 32 def self.find(klass, attr, name) result = klass.instance_variable_get("@rulz_#{attr}_conditions").find {|c| c.name == name } raise ArgumentError, "Condition '#{name}' for '#{attr}' does not exist" unless result result end
new(klass, attr, name, proc)
click to toggle source
# File lib/rulz/attribute.rb, line 22 def initialize(klass, attr, name, proc) @name = name @proc = proc klass.instance_exec self do |condition| conditions = instance_variable_get("@rulz_#{attr}_conditions") || [] conditions << condition instance_variable_set("@rulz_#{attr}_conditions", conditions) end end