Class: SettingsManager
- Inherits:
-
Object
- Object
- SettingsManager
- Defined in:
- lib/settings_manager.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
Returns the value of attribute data.
-
#file_path ⇒ Object
Returns the value of attribute file_path.
-
#file_type ⇒ Object
Returns the value of attribute file_type.
-
#filename ⇒ Object
Returns the value of attribute filename.
-
#name ⇒ Object
Returns the value of attribute name.
Class Method Summary collapse
- .create_decoder(datatype, &encode_method) ⇒ Object
- .create_encoder(datatype, &encode_method) ⇒ Object
- .settings(settings_name) ⇒ Object
- .settings_manager_data ⇒ Object
- .settings_manager_data=(data) ⇒ Object
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#initialize(settings_name) ⇒ SettingsManager
constructor
A new instance of SettingsManager.
- #load_data ⇒ Object
- #save_data ⇒ Object
Constructor Details
#initialize(settings_name) ⇒ SettingsManager
Returns a new instance of SettingsManager.
6 7 8 9 10 |
# File 'lib/settings_manager.rb', line 6 def initialize(settings_name) @name = settings_name @data,@file_type,@file_path,@filename = nil load_data end |
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
4 5 6 |
# File 'lib/settings_manager.rb', line 4 def data @data end |
#file_path ⇒ Object
Returns the value of attribute file_path.
4 5 6 |
# File 'lib/settings_manager.rb', line 4 def file_path @file_path end |
#file_type ⇒ Object
Returns the value of attribute file_type.
4 5 6 |
# File 'lib/settings_manager.rb', line 4 def file_type @file_type end |
#filename ⇒ Object
Returns the value of attribute filename.
4 5 6 |
# File 'lib/settings_manager.rb', line 4 def filename @filename end |
#name ⇒ Object
Returns the value of attribute name.
4 5 6 |
# File 'lib/settings_manager.rb', line 4 def name @name end |
Class Method Details
.create_decoder(datatype, &encode_method) ⇒ Object
52 53 54 |
# File 'lib/settings_manager.rb', line 52 def self.create_decoder(datatype,&encode_method) define_method("decode_" + datatype.to_s,&encode_method) end |
.create_encoder(datatype, &encode_method) ⇒ Object
48 49 50 |
# File 'lib/settings_manager.rb', line 48 def self.create_encoder(datatype,&encode_method) define_method("encode_" + datatype.to_s,&encode_method) end |
.settings(settings_name) ⇒ Object
68 69 70 |
# File 'lib/settings_manager.rb', line 68 def self.settings(settings_name) self.new(settings_name) end |
.settings_manager_data ⇒ Object
72 73 74 |
# File 'lib/settings_manager.rb', line 72 def self.settings_manager_data YAML::load(FileResourcesManager::get(".settings")||{}.to_yaml) end |
.settings_manager_data=(data) ⇒ Object
76 77 78 79 |
# File 'lib/settings_manager.rb', line 76 def self.settings_manager_data=(data) FileResourcesManager::set(".settings",data.to_yaml) self end |
Instance Method Details
#[](key) ⇒ Object
60 61 62 |
# File 'lib/settings_manager.rb', line 60 def [](key) @data[key] end |
#[]=(key, value) ⇒ Object
56 57 58 |
# File 'lib/settings_manager.rb', line 56 def []=(key,value) @data[key]=value end |
#load_data ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/settings_manager.rb', line 12 def load_data smd = SettingsManager.settings_manager_data[@name] @file_path = Dir.pwd @filename = @name @file_type = :yaml if smd then @file_type = smd["file_type"].to_sym @file_path = smd["file_path"] || Dir.pwd @filename = smd["filename"] || @name data = File.read(File.join(@file_path,@filename)) @data=self.send("decode_" + @file_type.to_s,data) else @data={} end self end |
#save_data ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/settings_manager.rb', line 30 def save_data File.open(File.join(@file_path,@filename),"w"){|f| case @file_type when nil @file_type = :yaml f << @data.to_yaml else f << self.send("encode_" + @file_type.to_s,data) end } file_data = {} file_data["file_type"] = @file_type.to_s if @file_type file_data["file_path"] = @file_path if @file_path file_data["filename"] = @filename if @filename smd = SettingsManager.settings_manager_data smd[@name] = file_data SettingsManager.settings_manager_data=smd end |