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
- #instance ⇒ Object readonly
-
#trace ⇒ String
readonly
Line where the value was constructed.
Instance Method Summary collapse
-
#deconstruct ⇒ Object
private
Pattern matching.
- #eql?(other) ⇒ Boolean (also: #==) private
- #filter(_ = Undefined) ⇒ Maybe::None
- #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 ⇒ Maybe::Some, Maybe::None
A lifted version of ‘#or`.
-
#to_result(fail = Unit) ⇒ 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.
212 213 214 215 |
# File 'lib/dry/monads/maybe.rb', line 212 def initialize(trace = RightBiased::Left.trace_caller) super() @trace = trace end |
Instance Attribute Details
#instance ⇒ Object (readonly)
195 196 197 |
# File 'lib/dry/monads/maybe.rb', line 195 def instance @instance end |
#trace ⇒ String (readonly)
Line where the value was constructed
210 211 212 |
# File 'lib/dry/monads/maybe.rb', line 210 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
280 281 282 |
# File 'lib/dry/monads/maybe.rb', line 280 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.
260 261 262 |
# File 'lib/dry/monads/maybe.rb', line 260 def eql?(other) other.is_a?(None) end |
#filter(_ = Undefined) ⇒ Maybe::None
287 288 289 |
# File 'lib/dry/monads/maybe.rb', line 287 def filter(_ = Undefined) self end |
#hash ⇒ Object
266 267 268 |
# File 'lib/dry/monads/maybe.rb', line 266 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.
231 232 233 234 235 236 237 |
# File 'lib/dry/monads/maybe.rb', line 231 def or(*args) if block_given? yield(*args) else args[0] end end |
#or_fmap ⇒ Maybe::Some, Maybe::None
A lifted version of ‘#or`. Applies `Maybe.coerce` to the passed value or to the block result.
249 250 251 |
# File 'lib/dry/monads/maybe.rb', line 249 def or_fmap(...) Maybe.coerce(self.or(...)) end |
#to_result(fail = Unit) ⇒ Failure<Any>
Converts to Failure(fallback_value)
419 420 421 422 423 424 425 |
# File 'lib/dry/monads/result.rb', line 419 def to_result(fail = Unit) if block_given? Result::Failure.new(yield) else Result::Failure.new(fail) end end |
#to_s ⇒ String Also known as: inspect
254 255 256 |
# File 'lib/dry/monads/maybe.rb', line 254 def to_s "None" end |