class Configurative::SettingsParser
Public Class Methods
new(options={})
click to toggle source
# File lib/configurative/settings_parser.rb, line 8 def initialize(options={}) @options = {}.merge(options) end
Public Instance Methods
parse(content)
click to toggle source
# File lib/configurative/settings_parser.rb, line 12 def parse(content) parse_hash(content) end
Private Instance Methods
parse_hash(hash)
click to toggle source
# File lib/configurative/settings_parser.rb, line 18 def parse_hash(hash) output = hash.inject(OpenStruct.new) do |object, entry| object[entry[0].to_sym] = (entry[1].kind_of?(Hash) ? parse_hash(entry[1]) : entry[1]) object end output.define_singleton_method(:empty?) {output.to_h.empty?} output.define_singleton_method(:include?) {|key| output.to_h.include?(key)} output end