Module: Myer::Config
- Includes:
- XDG::BaseDir::Mixin
- Included in:
- AdminCliController, CliController
- Defined in:
- lib/myer/config.rb
Defined Under Namespace
Classes: ServerConfig
Instance Attribute Summary collapse
-
#config_dir ⇒ Object
Returns the value of attribute config_dir.
-
#data_dir ⇒ Object
Returns the value of attribute data_dir.
Class Method Summary collapse
Instance Method Summary collapse
- #default_server ⇒ Object
- #default_server=(value) ⇒ Object
- #initialize_config ⇒ Object
- #local_csv_path(bucket_id) ⇒ Object
- #read_config ⇒ Object
- #server(name) ⇒ Object
- #servers ⇒ Object
- #subdirectory ⇒ Object
- #write_config ⇒ Object
Instance Attribute Details
#config_dir ⇒ Object
Returns the value of attribute config_dir.
9 10 11 |
# File 'lib/myer/config.rb', line 9 def config_dir @config_dir end |
#data_dir ⇒ Object
Returns the value of attribute data_dir.
9 10 11 |
# File 'lib/myer/config.rb', line 9 def data_dir @data_dir end |
Class Method Details
.define_attribute(name) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/myer/config.rb', line 43 def self.define_attribute(name) define_method(name.to_s) do return nil if !@config @config["servers"][default_server][name.to_s] end define_method(name.to_s + "=") do |value| @config ||= {} @config["servers"] ||= {} @config["servers"][default_server] ||= {} @config["servers"][default_server][name.to_s] = value end end |
Instance Method Details
#default_server ⇒ Object
39 40 41 |
# File 'lib/myer/config.rb', line 39 def default_server @config["default_server"] end |
#default_server=(value) ⇒ Object
34 35 36 37 |
# File 'lib/myer/config.rb', line 34 def default_server=(value) @config ||= {} @config["default_server"] = value end |
#initialize_config ⇒ Object
11 12 13 14 |
# File 'lib/myer/config.rb', line 11 def initialize_config @config_dir = config.home.to_s @data_dir = data.home.to_s end |
#local_csv_path(bucket_id) ⇒ Object
16 17 18 |
# File 'lib/myer/config.rb', line 16 def local_csv_path(bucket_id) File.join(@data_dir, bucket_id + ".csv") end |
#read_config ⇒ Object
68 69 70 71 72 73 74 75 |
# File 'lib/myer/config.rb', line 68 def read_config config_file = File.join(@config_dir, "myer.config") return if !File.exist?(config_file) @config = YAML.load_file(config_file) @default_server = @config["default_server"] end |
#server(name) ⇒ Object
81 82 83 84 |
# File 'lib/myer/config.rb', line 81 def server(name) return nil if !@config["servers"] || !@config["servers"].has_key?(name) ServerConfig.new(@config["servers"][name]) end |
#servers ⇒ Object
77 78 79 |
# File 'lib/myer/config.rb', line 77 def servers @config["servers"].keys end |
#subdirectory ⇒ Object
5 6 7 |
# File 'lib/myer/config.rb', line 5 def subdirectory "myer" end |
#write_config ⇒ Object
63 64 65 66 |
# File 'lib/myer/config.rb', line 63 def write_config FileUtils.mkdir_p(@config_dir) File.write(File.join(@config_dir, "myer.config"), @config.to_yaml) end |