class Eye::Patch::Settings

Public Class Methods

new(filename) click to toggle source
# File lib/eye/patch/settings.rb, line 14
def initialize(filename)
  file = File.new(filename)
  erb = ERB.new(file.read)
  erb.filename = file.path

  @settings = YAML.safe_load(erb.result)
ensure
  file&.close
end

Private Instance Methods

parse(item) click to toggle source
# File lib/eye/patch/settings.rb, line 30
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
    ValueParser.parse(item)
  else
    item
  end
end
parsed() click to toggle source
# File lib/eye/patch/settings.rb, line 26
def parsed
  @parsed ||= parse(@settings)
end