Class: Diary::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/diary-ruby/configuration.rb

Overview

Read only app configuration

Defined Under Namespace

Classes: Error

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.current_diaryObject

Returns the value of attribute current_diary.



14
15
16
# File 'lib/diary-ruby/configuration.rb', line 14

def current_diary
  @current_diary
end

.verboseObject

Returns the value of attribute verbose.



15
16
17
# File 'lib/diary-ruby/configuration.rb', line 15

def verbose
  @verbose
end

Class Method Details

.configObject

default to current_diary



54
55
56
# File 'lib/diary-ruby/configuration.rb', line 54

def config
  @config ||= load_config_for_diary(current_diary)
end

.config_dir(dir = Pathname.new(".")) ⇒ Object

Find config directory starting at current dir and then moving up the tree



18
19
20
21
22
23
24
25
26
27
28
29
# 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?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/diary-ruby/configuration.rb', line 35

def exists?
  !config_dir.nil?
end

.global_settingsObject



44
45
46
# File 'lib/diary-ruby/configuration.rb', line 44

def global_settings
  @global_settings || {}
end

.has_diary_config?(diary_identifier) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
42
# 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) ⇒ Object

load a specific diary



49
50
51
# File 'lib/diary-ruby/configuration.rb', line 49

def load_config(diary_identifier)
  @config = load_config_for_diary(diary_identifier)
end

.method_missing(method) ⇒ Object



31
32
33
# File 'lib/diary-ruby/configuration.rb', line 31

def method_missing(method)
  config[method.to_s]
end