Class: Canon::Config::TypeConverter

Inherits:
Object
  • Object
show all
Defined in:
lib/canon/config/type_converter.rb

Overview

Type converter for environment variable values Converts string ENV values to appropriate Ruby types

Constant Summary collapse

BOOLEAN_VALUES =
{
  "true" => true,
  "1" => true,
  "yes" => true,
  "false" => false,
  "0" => false,
  "no" => false,
}.freeze

Class Method Summary collapse

Class Method Details

.convert(attribute, value) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/canon/config/type_converter.rb', line 18

def convert(attribute, value)
  return nil if value.nil? || value.empty?

  type = EnvSchema.type_for(attribute)
  case type
  when :boolean
    convert_boolean(value)
  when :integer
    convert_integer(value)
  when :symbol
    convert_symbol(value)
  when :string
    value
  when :string_array
    convert_string_array(value)
  else
    value
  end
end