class RustyKey::Case

Public Class Methods

new(value) click to toggle source
# File lib/rusty_key/case.rb, line 11
def initialize(value)
  @value = value
  @found = false
  @result = -> {}
end

Public Instance Methods

else(&block) click to toggle source
# File lib/rusty_key/case.rb, line 25
def else(&block)
  if @found
    @result&.call(@value)
  else
    block&.call(@value)
  end
end
when(condition, &block) click to toggle source
# File lib/rusty_key/case.rb, line 17
def when(condition, &block)
  if !@found && condition === @value
    @found = true
    @result = block
  end
  self
end