Class: Monads::Many
Instance Attribute Summary collapse
-
#values ⇒ Object
readonly
Returns the value of attribute values.
Class Method Summary collapse
Instance Method Summary collapse
- #and_then(&block) ⇒ Object
-
#initialize(values) ⇒ Many
constructor
A new instance of Many.
- #respond_to_missing?(method_name, include_private = false) ⇒ Boolean
Methods included from Monad
Constructor Details
#initialize(values) ⇒ Many
Returns a new instance of Many.
9 10 11 |
# File 'lib/monads/many.rb', line 9 def initialize(values) @values = values end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Monads::Monad
Instance Attribute Details
#values ⇒ Object (readonly)
Returns the value of attribute values.
7 8 9 |
# File 'lib/monads/many.rb', line 7 def values @values end |
Class Method Details
Instance Method Details
#and_then(&block) ⇒ Object
13 14 15 16 17 |
# File 'lib/monads/many.rb', line 13 def and_then(&block) block = ensure_monadic_result(&block) Many.new(values.map(&block).flat_map(&:values)) end |
#respond_to_missing?(method_name, include_private = false) ⇒ Boolean
19 20 21 |
# File 'lib/monads/many.rb', line 19 def respond_to_missing?(method_name, include_private = false) super || values.all? { |value| value.respond_to?(method_name, include_private) } end |