module KingKonf::Decoder
Public Instance Methods
boolean(value, true_values: ["true", "1"], false_values: ["false", "0"])
click to toggle source
# File lib/king_konf/decoder.rb, line 7 def boolean(value, true_values: ["true", "1"], false_values: ["false", "0"]) if true_values.include?(value) true elsif false_values.include?(value) false else values = true_values + false_values raise ConfigError, "#{value.inspect} is not a boolean: must be one of #{values.join(', ')}" end end
duration(value, **)
click to toggle source
# File lib/king_konf/decoder.rb, line 40 def duration(value, **) case value when "" nil when/^\d*\.\d+$/ value.to_f when/^\d*$/ value.to_i else DurationDecoder.decode(value) end end
float(value, **)
click to toggle source
# File lib/king_konf/decoder.rb, line 36 def float(value, **) Float(value) end
integer(value, **)
click to toggle source
# File lib/king_konf/decoder.rb, line 30 def integer(value, **) Integer(value) rescue ArgumentError raise ConfigError, "#{value.inspect} is not an integer" end
list(value, sep: ",", items: :string)
click to toggle source
# File lib/king_konf/decoder.rb, line 26 def list(value, sep: ",", items: :string) value.split(sep).map {|s| public_send(items, s) } end
string(value, **)
click to toggle source
# File lib/king_konf/decoder.rb, line 18 def string(value, **) value end
symbol(value, **)
click to toggle source
# File lib/king_konf/decoder.rb, line 22 def symbol(value, **) value.to_sym end