Module: Dill::Conversions

Extended by:
Conversions
Included in:
Conversions, TextTable
Defined in:
lib/dill/conversions.rb

Instance Method Summary collapse

Instance Method Details

#Boolean(val) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/dill/conversions.rb', line 5

def Boolean(val)
  case val
  when 'yes', 'true', true
    true
  when 'no', 'false', false, nil, ''
    false
  else
    raise ArgumentError, "can't convert #{val.inspect} to boolean"
  end
end

#List(valstr, &block) ⇒ Object



16
17
18
19
20
# File 'lib/dill/conversions.rb', line 16

def List(valstr, &block)
  vs = valstr.strip.split(/\s*,\s*/)

  block ? vs.map(&block) : vs
end

#Timeish(val) ⇒ Object

Raises:

  • (ArgumentError)


22
23
24
25
26
27
28
29
# File 'lib/dill/conversions.rb', line 22

def Timeish(val)
  raise ArgumentError, "can't convert nil to Timeish" if val.nil?

  return val if Date === val || Time === val || DateTime === val

  Chronic.parse(val) or
    raise ArgumentError, "can't parse #{val.inspect} to Timeish"
end