I have a yaml file which contains some times:
hours:
- 00:00:00
- 00:30:00
- 01:00:00
But as soon as I read them they get converted to time (in seconds), but I want them to remain as strings for a moment so i can do the conversion. Here's how I'm reading them:
def daily_hours
DefaultsConfig.hours.collect {|hour|
logger.info { hour.to_s }
}
end
And it's outputting:
0 1800 3600
But I want the strings to remain unchanged to I can convert them to times such as:
12:00am 12:30am 1:00am
Why are they getting converted automatically, and how can I stop it?
Here's the DefaultConfig class:
class DefaultsConfig
def self.load
config_file = File.join(Rails.root, "config", "defaults.yml")
if File.exists?(config_file)
config = ERB.new(File.read(config_file)).result
config = YAML.load(config)[Rails.env.to_sym]
config.keys.each do |key|
cattr_accessor key
send("#{key}=", config[key])
end
end
end
end
DefaultsConfig.load