class PDFWalker::Walker::Config

Constants

DEFAULT_CONFIG
DEFAULT_CONFIG_FILE
NLOG_RECENT_FILES

Public Class Methods

new(configfile = DEFAULT_CONFIG_FILE) click to toggle source
# File lib/pdfwalker/config.rb, line 47
def initialize(configfile = DEFAULT_CONFIG_FILE)
    begin
        @conf = YAML.load(File.open(configfile))
    rescue
        @conf = DEFAULT_CONFIG
    ensure
        @filename = configfile
        set_missing_values
    end
end

Public Instance Methods

ignore_header?() click to toggle source
# File lib/pdfwalker/config.rb, line 87
def ignore_header?
    @conf["Debug"]['IgnoreFileHeader']
end
last_opened_file(filepath) click to toggle source
# File lib/pdfwalker/config.rb, line 58
def last_opened_file(filepath)
    @conf["UI"]['LastOpenedDocuments'].push(filepath).uniq!
    @conf["UI"]['LastOpenedDocuments'].delete_at(0) while @conf["UI"]['LastOpenedDocuments'].size > NLOG_RECENT_FILES

    save
end
profile?() click to toggle source
# File lib/pdfwalker/config.rb, line 74
def profile?
    @conf["Debug"]['Profiling']
end
profile_output_dir() click to toggle source
# File lib/pdfwalker/config.rb, line 78
def profile_output_dir
    @conf["Debug"]['ProfilingOutputDir']
end
recent_files(n = NLOG_RECENT_FILES) click to toggle source
# File lib/pdfwalker/config.rb, line 65
def recent_files(n = NLOG_RECENT_FILES)
    @conf["UI"]['LastOpenedDocuments'].last(n).reverse
end
save() click to toggle source
# File lib/pdfwalker/config.rb, line 100
def save
    File.open(@filename, "w").write(@conf.to_yaml)
end
set_ignore_header(bool) click to toggle source
# File lib/pdfwalker/config.rb, line 82
def set_ignore_header(bool)
    @conf["Debug"]['IgnoreFileHeader'] = bool
    save
end
set_profiling(bool) click to toggle source
# File lib/pdfwalker/config.rb, line 69
def set_profiling(bool)
    @conf["Debug"]['Profiling'] = bool
    save
end
set_verbosity(level) click to toggle source
# File lib/pdfwalker/config.rb, line 91
def set_verbosity(level)
    @conf["Debug"]['Verbosity'] = level
    save
end
verbosity() click to toggle source
# File lib/pdfwalker/config.rb, line 96
def verbosity
    @conf["Debug"]['Verbosity']
end

Private Instance Methods

set_missing_values() click to toggle source
# File lib/pdfwalker/config.rb, line 106
def set_missing_values
    @conf ||= {}

    DEFAULT_CONFIG.each_key do |cat|
        @conf[cat] = {} unless @conf.include?(cat)

        DEFAULT_CONFIG[cat].each_pair do |key, value|
            @conf[cat][key] = value unless @conf[cat].include?(key)
        end
    end
end