Class: FunctionalLightService::Option

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

Defined Under Namespace

Classes: Some

Class Method Summary collapse

Class Method Details

.any?(expr) ⇒ Boolean

Returns:

  • (Boolean)


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

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

.some?(expr) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/functional-light-service/functional/option.rb', line 19

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

.to_option(expr) ⇒ Object



27
28
29
# File 'lib/functional-light-service/functional/option.rb', line 27

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

.try!Object



31
32
33
34
35
# File 'lib/functional-light-service/functional/option.rb', line 31

def try!
  yield
rescue StandardError
  None.new
end