Sha256: a41e694486985d29f89aa4fd804157ce3429a54e925eb3f66595d9438b82331e
Contents?: true
Size: 668 Bytes
Versions: 17
Compression:
Stored size: 668 Bytes
Contents
require 'erb' require 'yaml' module Dandelion class Config attr_reader :path, :data def initialize(options = {}) @path = options[:path] @data = @path ? load : (options[:data] || {}) end def [](key) @data[key] || @data[key.to_s] end def []=(key, value) @data[key.to_s] = value end def defaults(values) values.each do |k, v| if self[k].nil? self[k] = v end end self end private def load YAML.load(template.result(binding)) || {} end def content IO.read(path) end def template ERB.new(content) end end end
Version data entries
17 entries across 17 versions & 1 rubygems