Class: Dry::Monads::Maybe::None
- Inherits:
-
Dry::Monads::Maybe
- Object
- Dry::Monads::Maybe
- Dry::Monads::Maybe::None
- Includes:
- RightBiased::Left
- Defined in:
- lib/dry/monads/maybe.rb,
lib/dry/monads/result.rb
Overview
Represents an absence of a value, i.e. the value nil.
Instance Attribute Summary collapse
-
#trace ⇒ String
readonly
Line where the value was constructed.
Instance Method Summary collapse
-
#deconstruct ⇒ Object
private
Pattern matching.
- #eql?(other) ⇒ Boolean (also: #==) private
- #hash ⇒ Object
-
#initialize(trace = RightBiased::Left.trace_caller) ⇒ None
constructor
A new instance of None.
-
#or(*args) ⇒ Object
If a block is given passes internal value to it and returns the result, otherwise simply returns the parameter val.
-
#or_fmap(*args, &block) ⇒ Maybe::Some, Maybe::None
A lifted version of
#or
. -
#to_result(fail = Unit, &block) ⇒ Failure<Any>
Converts to Failure(fallback_value).
- #to_s ⇒ String (also: #inspect)
Methods included from RightBiased::Left
#and, #apply, #bind, #deconstruct_keys, #discard, #flatten, #fmap, #tee, trace_caller, #value!, #value_or
Methods inherited from Dry::Monads::Maybe
#as_json, coerce, json_create, #monad, #none?, pure, #some?, #to_json, #to_maybe, #to_monad, to_proc
Methods included from Transformer
Constructor Details
#initialize(trace = RightBiased::Left.trace_caller) ⇒ None
Returns a new instance of None.
160 161 162 |
# File 'lib/dry/monads/maybe.rb', line 160 def initialize(trace = RightBiased::Left.trace_caller) @trace = trace end |
Instance Attribute Details
#trace ⇒ String (readonly)
Line where the value was constructed
158 159 160 |
# File 'lib/dry/monads/maybe.rb', line 158 def trace @trace end |
Instance Method Details
#deconstruct ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Pattern matching
227 228 229 |
# File 'lib/dry/monads/maybe.rb', line 227 def deconstruct EMPTY_ARRAY end |
#eql?(other) ⇒ Boolean Also known as: ==
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
207 208 209 |
# File 'lib/dry/monads/maybe.rb', line 207 def eql?(other) other.is_a?(None) end |
#hash ⇒ Object
213 214 215 |
# File 'lib/dry/monads/maybe.rb', line 213 def hash None.instance.object_id end |
#or(*args) ⇒ Object
If a block is given passes internal value to it and returns the result, otherwise simply returns the parameter val.
178 179 180 181 182 183 184 |
# File 'lib/dry/monads/maybe.rb', line 178 def or(*args) if block_given? yield(*args) else args[0] end end |
#or_fmap(*args, &block) ⇒ Maybe::Some, Maybe::None
A lifted version of #or
. Applies Maybe.coerce
to the passed value or
to the block result.
196 197 198 |
# File 'lib/dry/monads/maybe.rb', line 196 def or_fmap(*args, &block) Maybe.coerce(self.or(*args, &block)) end |
#to_result(fail = Unit, &block) ⇒ Failure<Any>
Converts to Failure(fallback_value)
400 401 402 403 404 405 406 |
# File 'lib/dry/monads/result.rb', line 400 def to_result(fail = Unit, &block) if block_given? Result::Failure.new(yield) else Result::Failure.new(fail) end end |
#to_s ⇒ String Also known as: inspect
201 202 203 |
# File 'lib/dry/monads/maybe.rb', line 201 def to_s 'None' end |