Class: Preferences
- Inherits:
-
Object
- Object
- Preferences
- Includes:
- ClioHelper, SettingsAccessors, SettingsInspector, Singleton
- Defined in:
- lib/oro/settings.rb
Overview
Singleton class representing preferred settings
Constant Summary collapse
- FILE =
File.join(Dir.home, '.oro')
Instance Method Summary collapse
-
#initialize ⇒ Preferences
constructor
A new instance of Preferences.
- #reset_defaults ⇒ Object
- #settings ⇒ Object
- #settings=(settings) ⇒ Object
Methods included from ClioHelper
Methods included from SettingsAccessors
#actions, #actions=, #config, #config=, #plan, #plan=
Methods included from SettingsInspector
Constructor Details
#initialize ⇒ Preferences
Returns a new instance of Preferences.
26 27 28 29 |
# File 'lib/oro/settings.rb', line 26 def initialize reset_defaults unless FileTest.readable?(FILE) # Create preference file if missing settings end |
Instance Method Details
#reset_defaults ⇒ Object
41 42 43 |
# File 'lib/oro/settings.rb', line 41 def reset_defaults self.settings = Defaults.instance.settings end |
#settings ⇒ Object
31 32 33 |
# File 'lib/oro/settings.rb', line 31 def settings @settings ||= YAML.safe_load(File.read(FILE), permitted_classes: [OpenStruct, Symbol]) end |
#settings=(settings) ⇒ Object
35 36 37 38 39 |
# File 'lib/oro/settings.rb', line 35 def settings=(settings) settings.delete_field('actions') if settings.actions File.open(FILE, 'w') { |f| f.write YAML.dump(settings) } @settings = settings end |