module EnvironmentConfig::Types

Constants

ALL

Public Class Methods

convert(type_name, key, value) click to toggle source
# File lib/environment_config/types.rb, line 28
def convert(type_name, key, value)
  type = type_map.fetch(type_name.to_sym)
  type.convert(value)
rescue Types::TypeError => e
  raise ArgumentError,
        "Environment variable #{key} could not be read as #{type_name}." \
        " Expected: #{e.expected_message}" \
        " Got: #{e.value}"
end
known_type?(type_name) click to toggle source
# File lib/environment_config/types.rb, line 42
def known_type?(type_name)
  type_map.key?(type_name.to_sym)
end
type_names() click to toggle source
# File lib/environment_config/types.rb, line 38
def type_names
  type_map.keys
end

Private Class Methods

type_map() click to toggle source
# File lib/environment_config/types.rb, line 48
def type_map
  @type_map ||= ALL.map { |type| [type.name, type] }.to_h
end