Class: Option::Match

Inherits:
Object
  • Object
show all
Defined in:
lib/optional/option/match.rb

Defined Under Namespace

Classes: NoneClause, SomeClause

Instance Method Summary collapse

Instance Method Details

#evaluate(option) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/optional/option/match.rb', line 12

def evaluate(option)
  case option
  when Some
    matched(option).evaluate(option.value)
  when None
    none_clause.evaluate
  end
end

#none(&block) ⇒ Object



8
9
10
# File 'lib/optional/option/match.rb', line 8

def none(&block)
  self.none_clause = NoneClause.new(block)
end

#some(guard = always, &block) ⇒ Object



4
5
6
# File 'lib/optional/option/match.rb', line 4

def some(guard=always, &block)
  some_clauses << SomeClause.new(guard, block)
end