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