Class: Accord::InterfaceInvariants

Inherits:
Object
  • Object
show all
Defined in:
lib/accord/interface.rb

Instance Method Summary collapse

Constructor Details

#initialize(interface) ⇒ InterfaceInvariants

Returns a new instance of InterfaceInvariants.



46
47
48
49
# File 'lib/accord/interface.rb', line 46

def initialize(interface)
  @interface = interface
  @invariants = {}
end

Instance Method Details

#add(invariant_name, &block) ⇒ Object



51
52
53
# File 'lib/accord/interface.rb', line 51

def add(invariant_name, &block)
  @invariants[invariant_name.to_sym] = block
end

#run(object, errors) ⇒ Object



55
56
57
58
59
# File 'lib/accord/interface.rb', line 55

def run(object, errors)
  @invariants.each do |invariant_name, block|
    block.call(object, errors)
  end
end