Class: Assertion::Guard
- Inherits:
-
Object
- Object
- Assertion::Guard
- Extended by:
- DSL::Attribute, DSL::Caller
- Defined in:
- lib/assertion/guard.rb
Overview
The base class for object guards
The guard defines a desired state for the object and checks if that state is valid.
Its call method either returns the guarded object, or (when its state is invalid) raises an exception
The class DSL also defines a .[] shortcut to initialize and call the guard for given object immediately.
Class Method Summary collapse
-
.call ⇒ Object
Validates the state of the [#object] and returns valid object back.
- .initialize(object) ⇒ Object
-
.new(object) ⇒ Assertion::Guard
Creates the guard instance for the provided object.
Methods included from DSL::Attribute
Methods included from DSL::Caller
Class Method Details
.call ⇒ Object
Validates the state of the [#object] and returns valid object back
58 59 60 61 |
# File 'lib/assertion/guard.rb', line 58 def call state.validate! object end |
.initialize(object) ⇒ Object
47 48 49 50 |
# File 'lib/assertion/guard.rb', line 47 def initialize(object) @object = object freeze end |
.new(object) ⇒ Assertion::Guard
Creates the guard instance for the provided object
|
|
# File 'lib/assertion/guard.rb', line 38
|