Class: Crowbar::Client::Config
- Inherits:
-
Object
- Object
- Crowbar::Client::Config
- Includes:
- Singleton
- Defined in:
- lib/crowbar/client/config.rb
Overview
General configuration for the Crowbar CLI
Instance Attribute Summary collapse
-
#config ⇒ Hashie::Mash
Define file config.
-
#options ⇒ Hashie::Mash
Define parameter config.
-
#values ⇒ Hashie::Mash
Define merged config.
Class Method Summary collapse
-
.config ⇒ Hashie::Mash
Define file config.
-
.configure(options) ⇒ Object
Define base configuration.
-
.defaults ⇒ Hashie::Mash
Define default config.
-
.method_missing(method, *arguments) { ... } ⇒ Object
Magic to catch missing method calls.
-
.options ⇒ Hashie::Mash
Define parameter config.
-
.respond_to?(method, include_private = false) ⇒ Bool
Magic to catch missing respond_to calls.
-
.values ⇒ Hashie::Mash
Define merged config.
Instance Method Summary collapse
-
#configure(options) ⇒ Object
Define base configuration.
-
#defaults ⇒ Hashie::Mash
Define default config.
Instance Attribute Details
#config ⇒ Hashie::Mash
Define file config
82 83 84 |
# File 'lib/crowbar/client/config.rb', line 82 def config @config ||= Hashie::Mash.new end |
#options ⇒ Hashie::Mash
Define parameter config
73 74 75 |
# File 'lib/crowbar/client/config.rb', line 73 def @options ||= defaults end |
#values ⇒ Hashie::Mash
Define merged config
91 92 93 |
# File 'lib/crowbar/client/config.rb', line 91 def values @values ||= Hashie::Mash.new end |
Class Method Details
.config ⇒ Hashie::Mash
Define file config
358 359 360 |
# File 'lib/crowbar/client/config.rb', line 358 def config instance.config end |
.configure(options) ⇒ Object
Define base configuration
328 329 330 |
# File 'lib/crowbar/client/config.rb', line 328 def configure() instance.configure() end |
.defaults ⇒ Hashie::Mash
Define default config
338 339 340 |
# File 'lib/crowbar/client/config.rb', line 338 def defaults instance.defaults end |
.method_missing(method, *arguments) { ... } ⇒ Object
Magic to catch missing method calls
379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 |
# File 'lib/crowbar/client/config.rb', line 379 def method_missing(method, *arguments, &block) case when method.to_s.ends_with?("=") key = method.to_s.gsub(/=\z/, "") if values.key?(key) values[key] = arguments.first else super end when values.key?(method) values[method] else super end end |
.options ⇒ Hashie::Mash
Define parameter config
348 349 350 |
# File 'lib/crowbar/client/config.rb', line 348 def instance. end |
.respond_to?(method, include_private = false) ⇒ Bool
Magic to catch missing respond_to calls
403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 |
# File 'lib/crowbar/client/config.rb', line 403 def respond_to?(method, include_private = false) case when method.to_s.ends_with?("=") key = method.to_s.gsub(/=\z/, "") if values.key?(key) true else super end when values.key?(method) true else super end end |
.values ⇒ Hashie::Mash
Define merged config
368 369 370 |
# File 'lib/crowbar/client/config.rb', line 368 def values instance.values end |
Instance Method Details
#configure(options) ⇒ Object
Define base configuration
38 39 40 41 42 43 44 45 |
# File 'lib/crowbar/client/config.rb', line 38 def configure() self. = Hashie::Mash.new( ) self.config = parser self.values = merge end |
#defaults ⇒ Hashie::Mash
Define default config
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/crowbar/client/config.rb', line 52 def defaults @defaults ||= Hashie::Mash.new( alias: default_alias, username: default_username, password: default_password, server: default_server, verify_ssl: default_verify_ssl, timeout: default_timeout, anonymous: default_anonymous, apiversion: default_apiversion, experimental: default_experimental, upgrade_versions: default_upgrade_versions, debug: default_debug ) end |