class Diary::Configuration
Read only app configuration
Attributes
current_diary[RW]
verbose[RW]
Public Class Methods
config()
click to toggle source
default to current_diary
# File lib/diary-ruby/configuration.rb, line 54 def config @config ||= load_config_for_diary(current_diary) end
config_dir(dir = Pathname.new("."))
click to toggle source
Find config directory starting at current dir and then moving up the tree
# File lib/diary-ruby/configuration.rb, line 18 def config_dir(dir = Pathname.new(".")) app_config_dir = dir + DIARY_DIR if dir.children.include?(app_config_dir) app_config_dir.expand_path else return nil if dir.expand_path.root? # go up the stack config_dir(dir.parent) end end
exists?()
click to toggle source
# File lib/diary-ruby/configuration.rb, line 35 def exists? !config_dir.nil? end
global_settings()
click to toggle source
# File lib/diary-ruby/configuration.rb, line 44 def global_settings @global_settings || {} end
has_diary_config?(diary_identifier)
click to toggle source
# File lib/diary-ruby/configuration.rb, line 39 def has_diary_config?(diary_identifier) load_global_settings global_settings.has_key?(diary_identifier) end
load_config(diary_identifier)
click to toggle source
load a specific diary
# File lib/diary-ruby/configuration.rb, line 49 def load_config(diary_identifier) @config = load_config_for_diary(diary_identifier) end
method_missing(method)
click to toggle source
# File lib/diary-ruby/configuration.rb, line 31 def method_missing(method) config[method.to_s] end
Private Class Methods
load_config_for_diary(diary_identifier)
click to toggle source
# File lib/diary-ruby/configuration.rb, line 60 def load_config_for_diary(diary_identifier) if !exists? # no config file exists, build empty configuration options starting now {} else load_global_settings if global_settings.has_key?(diary_identifier) global_settings[diary_identifier] else # configuration for this diary doesn't exist, build empty # configuration options starting now {} end end end
load_global_settings()
click to toggle source
# File lib/diary-ruby/configuration.rb, line 76 def load_global_settings @global_settings ||= begin if exists? cf = File.join(config_dir, 'config.yaml') YAML.load(File.open(cf)) else {} end end end