Class: FunctionalLightService::Option

Inherits:
Object
  • Object
show all
Defined in:
lib/functional-light-service/functional/option.rb

Class Method Summary collapse

Class Method Details

.any?(expr) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/functional-light-service/functional/option.rb', line 13

def any?(expr)
  to_option(expr) { expr.nil? || (expr.respond_to?(:empty?) && expr.empty?) }
end

.some?(expr) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/functional-light-service/functional/option.rb', line 9

def some?(expr)
  to_option(expr) { expr.nil? }
end

.to_option(expr) ⇒ Object



17
18
19
# File 'lib/functional-light-service/functional/option.rb', line 17

def to_option(expr)
  yield(expr) ? None.new : Some.new(expr)
end

.try!Object



21
22
23
24
25
# File 'lib/functional-light-service/functional/option.rb', line 21

def try!
  yield
rescue StandardError
  None.new
end