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