Class: Arbi::Config
Class Method Summary collapse
- .[](*args) ⇒ Object
- .[]=(*args) ⇒ Object
- .__method_missing__ ⇒ Object
- .inspect ⇒ Object
- .method_missing(sym, *args, &blk) ⇒ Object
- .to_s ⇒ Object
Instance Method Summary collapse
-
#initialize ⇒ Config
constructor
A new instance of Config.
- #parse(file = '/etc/arbi.yaml') ⇒ Object
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
28 29 30 31 |
# File 'lib/arbi/config.rb', line 28 def initialize super() self.parse end |
Class Method Details
.[](*args) ⇒ Object
72 73 74 |
# File 'lib/arbi/config.rb', line 72 def [](*args) self.instance.send(:[], *args) end |
.[]=(*args) ⇒ Object
76 77 78 |
# File 'lib/arbi/config.rb', line 76 def []=(*args) self.instance.send(:[]=, *args) end |
.__method_missing__ ⇒ Object
63 |
# File 'lib/arbi/config.rb', line 63 alias __method_missing__ method_missing |
.inspect ⇒ Object
80 81 82 |
# File 'lib/arbi/config.rb', line 80 def inspect self.instance.inspect end |
.method_missing(sym, *args, &blk) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/arbi/config.rb', line 64 def method_missing(sym, *args, &blk) if self.instance.respond_to?(sym) self.instance.send(sym, *args, &blk) else self.__method_missing__(sym, *args, &blk) end end |
.to_s ⇒ Object
84 85 86 |
# File 'lib/arbi/config.rb', line 84 def to_s self.instance.to_s end |
Instance Method Details
#parse(file = '/etc/arbi.yaml') ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/arbi/config.rb', line 33 def parse(file = '/etc/arbi.yaml') config = ::YAML.load_file(file) rescue Exception => e Arbi.debug "Config: #{e}" ensure config ||= {} config[:server] ||= {} config[:server][:address] ||= '127.0.0.1' config[:server][:port] ||= 6969 config[:server][:acpi] ||= {} config[:server][:acpi][:listen] ||= '/var/run/acpid.socket' config[:server][:acpi][:bind] ||= '/var/run/arbid.socket' config[:client] ||= {} config[:client][:address] ||= '127.0.0.1' config[:client][:port] ||= 6969 config[:client][:default_cmd] ||= ['help', 'quit'] config[:modules] ||= {} config[:modules][:path] ||= [] config[:modules][:modules] ||= [] config[:client][:default_cmd].map!(&:to_s).uniq! config[:client][:default_cmd].delete('quit') config[:client][:default_cmd] << 'quit' config[:modules][:path] << File.join(File.dirname(__FILE__), 'modules') config[:modules][:path].uniq! self.replace(config) end |