Sha256: 2ebafa2549749e9bb25ea492d145f6b82c1d59b70a0456715166d191db4fbb1e
Contents?: true
Size: 636 Bytes
Versions: 4
Compression:
Stored size: 636 Bytes
Contents
require "chronic_duration" class Eye::Patch::Settings def initialize(filename) @settings = YAML.load(File.open(filename)) end def [](value) parsed[value] end private def parsed @parsed ||= parse(@settings) end def parse(item) case item when Hash item.each_with_object({}) do |(key, val), result| result[key.to_sym] = parse(val) end when Array item.map { |val| parse(val) } when String # Assume that we should parse any time-like values item =~ /\b(hour|second|minute)s?\b/ ? ChronicDuration.parse(item) : item else item end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
eye-patch-0.0.4 | lib/eye/patch/settings.rb |
eye-patch-0.0.3 | lib/eye/patch/settings.rb |
eye-patch-0.0.2 | lib/eye/patch/settings.rb |
eye-patch-0.0.1 | lib/eye/patch/settings.rb |