Class: ConfigManager
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, val) ⇒ Object
- #base_configuration ⇒ Object
- #base_configuration_directory ⇒ Object
- #base_configuration_filepath ⇒ Object
- #game_settings_file ⇒ Object
- #load(configuration_filepath) ⇒ Object
- #save ⇒ Object
- #save_to_file(filepath, settings) ⇒ Object
- #settings ⇒ Object
- #user_configuration ⇒ Object
- #user_configuration_directory ⇒ Object
- #user_configuration_filepath ⇒ Object
Instance Method Details
#[](key) ⇒ Object
7 8 9 |
# File 'lib/gamebox/core/config_manager.rb', line 7 def [](key) settings[key] end |
#[]=(key, val) ⇒ Object
11 12 13 |
# File 'lib/gamebox/core/config_manager.rb', line 11 def []=(key,val) settings[key] = val end |
#base_configuration ⇒ Object
36 37 38 |
# File 'lib/gamebox/core/config_manager.rb', line 36 def base_configuration load base_configuration_filepath end |
#base_configuration_directory ⇒ Object
24 25 26 |
# File 'lib/gamebox/core/config_manager.rb', line 24 def base_configuration_directory Gamebox.configuration.config_path end |
#base_configuration_filepath ⇒ Object
32 33 34 |
# File 'lib/gamebox/core/config_manager.rb', line 32 def base_configuration_filepath File.join(base_configuration_directory, game_settings_file) end |
#game_settings_file ⇒ Object
16 17 18 |
# File 'lib/gamebox/core/config_manager.rb', line 16 def game_settings_file "game.yml" end |
#load(configuration_filepath) ⇒ Object
44 45 46 |
# File 'lib/gamebox/core/config_manager.rb', line 44 def load(configuration_filepath) File.exist?(configuration_filepath) ? YAML::load_file(configuration_filepath) : {} end |
#save ⇒ Object
48 49 50 |
# File 'lib/gamebox/core/config_manager.rb', line 48 def save save_to_file(user_configuration_filepath,settings.to_yaml) end |
#save_to_file(filepath, settings) ⇒ Object
52 53 54 55 |
# File 'lib/gamebox/core/config_manager.rb', line 52 def save_to_file(filepath,settings) FileUtils.mkdir_p File.dirname(filepath) File.write(filepath,settings) end |
#settings ⇒ Object
3 4 5 |
# File 'lib/gamebox/core/config_manager.rb', line 3 def settings @settings ||= base_configuration.merge(user_configuration) end |
#user_configuration ⇒ Object
40 41 42 |
# File 'lib/gamebox/core/config_manager.rb', line 40 def user_configuration load user_configuration_filepath end |
#user_configuration_directory ⇒ Object
20 21 22 |
# File 'lib/gamebox/core/config_manager.rb', line 20 def user_configuration_directory File.join(ENV['HOME'], ".gamebox") end |
#user_configuration_filepath ⇒ Object
28 29 30 |
# File 'lib/gamebox/core/config_manager.rb', line 28 def user_configuration_filepath File.join(user_configuration_directory, game_settings_file) end |