Module: Hutch::Config
- Defined in:
- lib/hutch/config.rb
Class Method Summary collapse
- .check_attr(attr) ⇒ Object
- .get(attr) ⇒ Object (also: [])
- .initialize ⇒ Object
- .method_missing(method, *args, &block) ⇒ Object
- .set(attr, value) ⇒ Object (also: []=)
- .user_config ⇒ Object
Class Method Details
.check_attr(attr) ⇒ Object
40 41 42 43 44 |
# File 'lib/hutch/config.rb', line 40 def self.check_attr(attr) unless user_config.key?(attr) raise UnknownAttributeError, "#{attr} is not a valid config attribute" end end |
.get(attr) ⇒ Object Also known as: []
25 26 27 28 |
# File 'lib/hutch/config.rb', line 25 def self.get(attr) check_attr(attr) user_config[attr] end |
.initialize ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/hutch/config.rb', line 7 def self.initialize @config = { mq_host: 'localhost', mq_port: 5672, mq_exchange: 'hutch', # TODO: should this be required? mq_vhost: '/', mq_ssl: false, mq_username: 'guest', mq_password: 'guest', mq_api_host: 'localhost', mq_api_port: 15672, mq_api_ssl: false, log_level: Logger::INFO, require_paths: [], error_handlers: [Hutch::ErrorHandlers::Logger.new] } end |
.method_missing(method, *args, &block) ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/hutch/config.rb', line 51 def self.method_missing(method, *args, &block) attr = method.to_s.sub(/=$/, '').to_sym return super unless user_config.key?(attr) if method =~ /=$/ set(attr, args.first) else get(attr) end end |
.set(attr, value) ⇒ Object Also known as: []=
30 31 32 33 |
# File 'lib/hutch/config.rb', line 30 def self.set(attr, value) check_attr(attr) user_config[attr] = value end |
.user_config ⇒ Object
46 47 48 49 |
# File 'lib/hutch/config.rb', line 46 def self.user_config initialize unless @config @config end |