module Rstructural::Option
Constants
- None
- Some
Public Class Methods
of(obj)
click to toggle source
# File lib/rstructural/option.rb, line 14 def self.of(obj) obj.nil? ? None : Some.new(obj) end
Public Instance Methods
flat_map(&f)
click to toggle source
# File lib/rstructural/option.rb, line 28 def flat_map(&f) case self in Some[value] f.call(value) in None None end end
flatten()
click to toggle source
# File lib/rstructural/option.rb, line 50 def flatten case self in Some[value] if value.is_a?(Option) value.flatten in Some[value] Option.of(value) in None None end end
get_or_else(default = nil) { || ... }
click to toggle source
# File lib/rstructural/option.rb, line 37 def get_or_else(default = nil) case self in Some[value] value in None if block_given? yield else default end end end
map(&f)
click to toggle source
# File lib/rstructural/option.rb, line 19 def map(&f) case self in Some[value] Option.of(f.call(value)) in None None end end