Class: Aka::Configuration
- Inherits:
-
Object
- Object
- Aka::Configuration
- Defined in:
- lib/aka/configuration.rb
Defined Under Namespace
Constant Summary collapse
- FORMAT =
'1'
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
Instance Method Summary collapse
- #aka_yml ⇒ Object
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #links ⇒ Object
- #save ⇒ Object
- #shortcuts ⇒ Object
- #upgrade ⇒ Object
- #version ⇒ Object
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/aka/configuration.rb', line 46 def initialize @configuration ||= begin if File.exist?(aka_yml) YAML::load_file(aka_yml) else {} end end @configuration[:shortcuts] ||= {} end |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
5 6 7 |
# File 'lib/aka/configuration.rb', line 5 def configuration @configuration end |
Instance Method Details
#aka_yml ⇒ Object
90 91 92 |
# File 'lib/aka/configuration.rb', line 90 def aka_yml ENV['AKA'] || File.('~/.aka.yml') end |
#links ⇒ Object
78 79 80 |
# File 'lib/aka/configuration.rb', line 78 def links @links ||= Links.new(@configuration[:links] || {}) end |
#save ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/aka/configuration.rb', line 65 def save current = { :version => version || FORMAT, :shortcuts => shortcuts.all } current[:links] = links.all if links.any? File.open(aka_yml, 'w+') do |f| f.write current.to_yaml end end |
#shortcuts ⇒ Object
57 58 59 |
# File 'lib/aka/configuration.rb', line 57 def shortcuts @shortcuts ||= Shortcuts.new(@configuration[:shortcuts]) end |
#upgrade ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/aka/configuration.rb', line 82 def upgrade if !version Upgrader::FromV0ToV1.run(aka_yml) elsif version == '1' Upgrader::FromV1ToV2.run(aka_yml) end end |
#version ⇒ Object
61 62 63 |
# File 'lib/aka/configuration.rb', line 61 def version @configuration[:version] end |