Module: Kase

Defined in:
lib/kase.rb,
lib/kase/errors.rb,
lib/kase/version.rb,
lib/kase/switcher.rb

Defined Under Namespace

Classes: KaseError, NoMatchError, Switcher

Constant Summary collapse

VERSION =
"0.1.3"

Class Method Summary collapse

Class Method Details

.kase(*values, &block) ⇒ Object Also known as: call



7
8
9
# File 'lib/kase.rb', line 7

def kase(*values, &block)
  Switcher.new(*values).switch(&block)
end

.ok!(*values, &_block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/kase.rb', line 12

def ok!(*values, &_block)
  Switcher.new(*values).switch do
    on(:ok) do |*result|
      if block_given?
        yield(*result) if block_given?
      else
        case result.size
        when 0
          nil
        when 1
          result.first
        else
          result
        end
      end
    end
  end
end