Module: Envee
- Defined in:
- lib/envee.rb,
lib/envee/version.rb
Overview
Defined Under Namespace
Classes: MissingValueError, MissingValuesError, UncoercibleError
Constant Summary
collapse
- VERSION =
'0.0.4'
Instance Method Summary
collapse
Instance Method Details
#bool(*args, &block) ⇒ Object
60
61
62
63
64
65
66
|
# File 'lib/envee.rb', line 60
def bool(*args, &block)
value = fetch(*args, &block)
value && value !~ /\A(0|no|false|off|nil|null|)\z/i
rescue KeyError
raise MissingValueError.new(args.first)
end
|
#fl(*args, &block) ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/envee.rb', line 36
def fl(*args, &block)
Float(fetch(*args, &block))
rescue ArgumentError
raise UncoercibleError.new(args.first, 'Float')
rescue KeyError
raise MissingValueError.new(args.first)
end
|
#int(*args, &block) ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/envee.rb', line 28
def int(*args, &block)
Integer(fetch(*args, &block))
rescue ArgumentError
raise UncoercibleError.new(args.first, 'Integer')
rescue KeyError
raise MissingValueError.new(args.first)
end
|
#int_time(*args, &block) ⇒ Object
78
79
80
81
82
83
84
85
86
|
# File 'lib/envee.rb', line 78
def int_time(*args, &block)
value = Integer(fetch(*args, &block))
return value if value.is_a?(Time)
Time.at(value).utc
rescue ArgumentError
raise UncoercibleError.new(args.first, 'Integer')
rescue KeyError
raise MissingValueError.new(args.first)
end
|
#str(*args, &block) ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/envee.rb', line 44
def str(*args, &block)
String(fetch(*args, &block))
rescue ArgumentError
raise UncoercibleError.new(args.first, 'String')
rescue KeyError
raise MissingValueError.new(args.first)
end
|
#sym(*args, &block) ⇒ Object
52
53
54
55
56
57
58
|
# File 'lib/envee.rb', line 52
def sym(*args, &block)
String(fetch(*args, &block)).to_sym
rescue ArgumentError
raise UncoercibleError.new(args.first, 'Symbol')
rescue KeyError
raise MissingValueError.new(args.first)
end
|
#time(*args, &block) ⇒ Object
68
69
70
71
72
73
74
75
76
|
# File 'lib/envee.rb', line 68
def time(*args, &block)
value = fetch(*args, &block)
return value if value.is_a?(Time)
Time.parse(value).utc
rescue ArgumentError
raise UncoercibleError.new(args.first, 'Time')
rescue KeyError
raise MissingValueError.new(args.first)
end
|
#validate!(options = {}) ⇒ Object
88
89
90
91
92
|
# File 'lib/envee.rb', line 88
def validate!(options = {})
missing = options[:placeholder] || 'CHANGEME'
missing_keys = select{|_k, v| v.include?(missing)}.map(&:first)
raise MissingValuesError, missing_keys unless missing_keys.empty?
end
|