Class: Leap::Quorum
- Inherits:
-
Object
- Object
- Leap::Quorum
- Defined in:
- lib/leap/quorum.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#process ⇒ Object
readonly
Returns the value of attribute process.
-
#requirements ⇒ Object
readonly
Returns the value of attribute requirements.
-
#supplements ⇒ Object
readonly
Returns the value of attribute supplements.
Instance Method Summary collapse
- #acknowledge(characteristics, considerations) ⇒ Object
- #characteristics ⇒ Object
-
#initialize(name, options, blk) ⇒ Quorum
constructor
A new instance of Quorum.
- #satisfied_by?(characteristics) ⇒ Boolean
Constructor Details
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
3 4 5 |
# File 'lib/leap/quorum.rb', line 3 def name @name end |
#process ⇒ Object (readonly)
Returns the value of attribute process.
3 4 5 |
# File 'lib/leap/quorum.rb', line 3 def process @process end |
#requirements ⇒ Object (readonly)
Returns the value of attribute requirements.
3 4 5 |
# File 'lib/leap/quorum.rb', line 3 def requirements @requirements end |
#supplements ⇒ Object (readonly)
Returns the value of attribute supplements.
3 4 5 |
# File 'lib/leap/quorum.rb', line 3 def supplements @supplements end |
Instance Method Details
#acknowledge(characteristics, considerations) ⇒ Object
15 16 17 18 |
# File 'lib/leap/quorum.rb', line 15 def acknowledge(characteristics, considerations) considerations.unshift characteristics process.call(*considerations[0...process.arity]) end |
#characteristics ⇒ Object
20 21 22 |
# File 'lib/leap/quorum.rb', line 20 def characteristics requirements + supplements end |
#satisfied_by?(characteristics) ⇒ Boolean
11 12 13 |
# File 'lib/leap/quorum.rb', line 11 def satisfied_by?(characteristics) (requirements - characteristics.keys).empty? end |