class Preferences
Attributes
preferences[R]
Public Class Methods
defaults()
click to toggle source
# File lib/models/preferences.rb, line 16 def self.defaults @@defaults end
defaults_yaml()
click to toggle source
# File lib/models/preferences.rb, line 24 def self.defaults_yaml @@primary_defaults.to_yaml end
new(prefs=nil)
click to toggle source
# File lib/models/preferences.rb, line 28 def initialize(prefs=nil) @preferences = load_preferences(prefs) end
prefs_file()
click to toggle source
# File lib/models/preferences.rb, line 20 def self.prefs_file @@prefs_file end
write_yaml_defaults()
click to toggle source
# File lib/models/preferences.rb, line 32 def self.write_yaml_defaults File.write(@@prefs_file, self.defaults_yaml) end
Public Instance Methods
method_missing(attribute)
click to toggle source
Calls superclass method
# File lib/models/preferences.rb, line 36 def method_missing(attribute) return @preferences[attribute] if @preferences.has_key?(attribute) super end
Private Instance Methods
load_preferences(prefs)
click to toggle source
# File lib/models/preferences.rb, line 53 def load_preferences(prefs) if prefs.nil? if File.exists?(@@prefs_file) prefs = load_yaml_preferences else prefs = @@defaults end end merged_prefs = @@defaults.merge(prefs) merged_prefs[:notes_dir] = File.expand_path(merged_prefs[:notes_dir]) return merged_prefs end
load_yaml_preferences()
click to toggle source
# File lib/models/preferences.rb, line 43 def load_yaml_preferences prefs = YAML::load_file(@@prefs_file) return( prefs.inject({}) do |processed, (key, val)| processed[key.to_sym] = val processed end ) end