Method: D13n::Configuration::ServerSource#set_key_by_type

Defined in:
lib/d13n/configuration/server_source.rb

#set_key_by_type(config_key) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/d13n/configuration/server_source.rb', line 28

def set_key_by_type(config_key)
  value = self[config_key]
  type = self.type_map[config_key]

  if type == String
    self[config_key] = value.to_s
  elsif type == Integer
    self[config_key] = value.to_i
  elsif type == Float
    self[config_key] = value.to_f
  elsif type == Symbol
    self[config_key] = value.to_sym
  elsif type == Array
    self[config_key] = value.split(/\s*,\s*/)
  elsif type == D13n::Configuration::Boolean
    if value =~ /false|off|no/i
      self[config_key] = false
    elsif value != nil
      self[config_key] = true
    end
  else
    D13n.logger.info("#{config_key} does not have a corresponding configuration setting (#{config_key} does not exist).")
    self[config_key] = value
  end
end