Method: Assertion.guards
- Defined in:
- lib/assertion.rb
.guards(attribute = nil, &block) ⇒ Class
Builds the subclass of ‘Assertion::Guard` with given attribute (alias for the `object`) and implementation of the `#state` method.
102 103 104 105 106 107 108 |
# File 'lib/assertion.rb', line 102 def self.guards(attribute = nil, &block) klass = Class.new(Guard) klass.public_send(:attribute, attribute) if attribute klass.__send__(:define_method, :state, &block) if block_given? klass end |