Class: Igniter::Extensions::Contracts::Invariants::Suite
- Inherits:
-
Object
- Object
- Igniter::Extensions::Contracts::Invariants::Suite
- Defined in:
- lib/igniter/extensions/contracts/invariants/suite.rb
Instance Attribute Summary collapse
-
#invariants ⇒ Object
readonly
Returns the value of attribute invariants.
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#initialize(invariants:) ⇒ Suite
constructor
A new instance of Suite.
- #invariant(name, &block) ⇒ Object
- #names ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(invariants:) ⇒ Suite
Returns a new instance of Suite.
10 11 12 13 |
# File 'lib/igniter/extensions/contracts/invariants/suite.rb', line 10 def initialize(invariants:) @invariants = invariants.freeze freeze end |
Instance Attribute Details
#invariants ⇒ Object (readonly)
Returns the value of attribute invariants.
8 9 10 |
# File 'lib/igniter/extensions/contracts/invariants/suite.rb', line 8 def invariants @invariants end |
Instance Method Details
#empty? ⇒ Boolean
19 20 21 |
# File 'lib/igniter/extensions/contracts/invariants/suite.rb', line 19 def empty? invariants.empty? end |
#invariant(name, &block) ⇒ Object
15 16 17 |
# File 'lib/igniter/extensions/contracts/invariants/suite.rb', line 15 def invariant(name, &block) self.class.new(invariants: invariants + [Invariant.new(name, &block)]) end |
#names ⇒ Object
23 24 25 |
# File 'lib/igniter/extensions/contracts/invariants/suite.rb', line 23 def names invariants.map(&:name) end |
#to_h ⇒ Object
27 28 29 30 31 |
# File 'lib/igniter/extensions/contracts/invariants/suite.rb', line 27 def to_h { invariants: names } end |