class FilterRename::Config

Attributes

filter[R]
global[R]
macro[R]
words[R]

Public Class Methods

new(global = {}) click to toggle source
# File lib/filter_rename/config.rb, line 92
def initialize(global = {})
  cfg = {filter: {}, global: {}, macro: {}, words: {}}

  load_file(File.expand_path(File.join(File.dirname(__FILE__), '..', 'filter_rename.yaml')), cfg)
  load_file(File.join(ENV['HOME'], '.filter_rename.yaml'), cfg)
  load_file(File.join(ENV['HOME'], '.filter_rename', 'config.yaml'), cfg)

  @filter = FilterConfig.new(cfg[:filter])
  @global = GlobalConfig.new(cfg[:global].merge(global))
  @macro  = MacroConfig.new(cfg[:macro].sort)
  @words  = WordsConfig.new(cfg[:words].sort)
end

Private Instance Methods

load_file(filename, cfg = nil) click to toggle source
# File lib/filter_rename/config.rb, line 107
def load_file(filename, cfg = nil)

  if File.exists?(filename)
    @filename = filename
    yaml = YAML.load_file(filename)
    [:filter, :global, :macro, :words].each do |s|
      cfg[s].merge!(yaml[s]) if yaml.has_key?(s)
    end
  end

end