module Qonfig::Commands::Definition::LoadFromENV::ValueConverter
@api private @since 0.2.0 rubocop:disable Style/RedundantFreeze, Performance/MethodObjectAsBlock
Constants
- ARRAY_PATTERN
@return [Regexp]
@api private @since 0.2.0
- FALSE_PATTERN
@return [Regexp]
@api private @since 0.2.0
- FLOAT_PATTERN
@return [Regexp]
@api private @since 0.2.0
- INTEGER_PATTERN
@return [Regexp]
@api private @since 0.2.0
- QUOTED_STRING_PATTERN
@return [Regexp]
@api private @since 0.2.0
- TRUE_PATTERN
@return [Regexp]
@api private @since 0.2.0
Public Class Methods
convert_values!(env_data)
click to toggle source
@param env_data [Hash] @return [void]
@api private @since 0.2.0
# File lib/qonfig/commands/definition/load_from_env/value_converter.rb, line 49 def convert_values!(env_data) env_data.each_pair do |key, value| env_data[key] = convert_value(value) end end
Private Class Methods
convert_value(value)
click to toggle source
@param value [Object] @return [Object]
@api private @since 0.2.0
# File lib/qonfig/commands/definition/load_from_env/value_converter.rb, line 62 def convert_value(value) return value unless value.is_a?(String) case value when INTEGER_PATTERN Integer(value) when FLOAT_PATTERN Float(value) when TRUE_PATTERN true when FALSE_PATTERN false when ARRAY_PATTERN value.split(/\s*,\s*/).map(&method(:convert_value)) when QUOTED_STRING_PATTERN value.gsub(/(\A['"]|['"]\z)/, '') else value end end