Class: Philiprehberger::Maybe::None
- Inherits:
-
Object
- Object
- Philiprehberger::Maybe::None
- Includes:
- Enumerable, Singleton
- Defined in:
- lib/philiprehberger/maybe.rb
Overview
Represents an absent value
Instance Method Summary collapse
-
#==(other) ⇒ Boolean
Equality check.
-
#[](_key) ⇒ None
Access a single key (shorthand for dig).
-
#contains?(_value) ⇒ Boolean
None never contains anything.
-
#deconstruct_keys(_keys) ⇒ Hash
Pattern matching support.
-
#dig ⇒ None
Dig always returns None.
-
#each(&block) ⇒ Enumerator, self
Yield nothing for Enumerable support.
-
#filter ⇒ None
No-op filter.
-
#flat_map ⇒ None
No-op transformation.
-
#flatten ⇒ None
Flatten a None — returns self.
-
#inspect ⇒ String
(also: #to_s)
String representation.
-
#map ⇒ None
No-op transformation.
-
#none? ⇒ Boolean
True.
-
#or_else(default = nil) { ... } ⇒ Some, None
Return the default value.
-
#or_raise(error_class = Error, message = 'value is absent') ⇒ Object
Raise an error since value is absent.
-
#present? ⇒ Boolean
Alias for #some? — matches Rails-style naming.
-
#recover { ... } ⇒ Some, None
Convert None to Some via a block.
-
#reject ⇒ None
No-op reject, returns self.
-
#some? ⇒ Boolean
False.
-
#tap ⇒ None
No-op tap, returns self.
-
#value ⇒ nil
Always nil.
-
#zip ⇒ None
Combine with other Maybes — always returns None.
Instance Method Details
#==(other) ⇒ Boolean
Returns equality check.
396 397 398 |
# File 'lib/philiprehberger/maybe.rb', line 396 def ==(other) other.is_a?(None) end |
#[](_key) ⇒ None
Access a single key (shorthand for dig)
332 333 334 |
# File 'lib/philiprehberger/maybe.rb', line 332 def [](_key) self end |
#contains?(_value) ⇒ Boolean
None never contains anything
384 385 386 |
# File 'lib/philiprehberger/maybe.rb', line 384 def contains?(_value) false end |
#deconstruct_keys(_keys) ⇒ Hash
Pattern matching support
340 341 342 |
# File 'lib/philiprehberger/maybe.rb', line 340 def deconstruct_keys(_keys) { value: nil, some: false, none: true } end |
#dig ⇒ None
Dig always returns None
324 325 326 |
# File 'lib/philiprehberger/maybe.rb', line 324 def dig(*) self end |
#each(&block) ⇒ Enumerator, self
Yield nothing for Enumerable support
260 261 262 263 264 |
# File 'lib/philiprehberger/maybe.rb', line 260 def each(&block) return to_enum(:each) unless block self end |
#filter ⇒ None
No-op filter
298 299 300 |
# File 'lib/philiprehberger/maybe.rb', line 298 def filter self end |
#flat_map ⇒ None
No-op transformation
291 292 293 |
# File 'lib/philiprehberger/maybe.rb', line 291 def flat_map self end |
#flatten ⇒ None
Flatten a None — returns self
376 377 378 |
# File 'lib/philiprehberger/maybe.rb', line 376 def flatten self end |
#inspect ⇒ String Also known as: to_s
Returns string representation.
401 402 403 |
# File 'lib/philiprehberger/maybe.rb', line 401 def inspect 'None' end |
#map ⇒ None
No-op transformation
284 285 286 |
# File 'lib/philiprehberger/maybe.rb', line 284 def map self end |
#none? ⇒ Boolean
Returns true.
277 278 279 |
# File 'lib/philiprehberger/maybe.rb', line 277 def none? true end |
#or_else(default = nil) { ... } ⇒ Some, None
Return the default value
307 308 309 310 |
# File 'lib/philiprehberger/maybe.rb', line 307 def or_else(default = nil, &block) value = block ? block.call : default Maybe.wrap(value) end |
#or_raise(error_class = Error, message = 'value is absent') ⇒ Object
Raise an error since value is absent
317 318 319 |
# File 'lib/philiprehberger/maybe.rb', line 317 def or_raise(error_class = Error, = 'value is absent') raise error_class, end |
#present? ⇒ Boolean
Alias for #some? — matches Rails-style naming
391 392 393 |
# File 'lib/philiprehberger/maybe.rb', line 391 def present? false end |
#recover { ... } ⇒ Some, None
Convert None to Some via a block
348 349 350 |
# File 'lib/philiprehberger/maybe.rb', line 348 def recover(&block) Maybe.wrap(block.call) end |
#reject ⇒ None
No-op reject, returns self
369 370 371 |
# File 'lib/philiprehberger/maybe.rb', line 369 def reject self end |
#some? ⇒ Boolean
Returns false.
272 273 274 |
# File 'lib/philiprehberger/maybe.rb', line 272 def some? false end |
#tap ⇒ None
No-op tap, returns self
362 363 364 |
# File 'lib/philiprehberger/maybe.rb', line 362 def tap self end |
#value ⇒ nil
Returns always nil.
267 268 269 |
# File 'lib/philiprehberger/maybe.rb', line 267 def value nil end |
#zip ⇒ None
Combine with other Maybes — always returns None
355 356 357 |
# File 'lib/philiprehberger/maybe.rb', line 355 def zip(*) self end |