Module: RatDeployer::Config
- Defined in:
- lib/rat_deployer/config.rb
Overview
This module handles config fetching from env and config files
Class Method Summary collapse
- .all ⇒ Object
- .env ⇒ Object
- .for_env(e = env) ⇒ Object
- .images ⇒ Object
- .prompt_enabled? ⇒ Boolean
- .remote ⇒ Object
- .remote_machine_flags ⇒ Object
Class Method Details
.all ⇒ Object
7 8 9 |
# File 'lib/rat_deployer/config.rb', line 7 def self.all @all ||= YAML.load_file(File.('./rat_config.yml')) || {} end |
.env ⇒ Object
27 28 29 |
# File 'lib/rat_deployer/config.rb', line 27 def self.env ENV['RAT_ENV'] || 'default' end |
.for_env(e = env) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/rat_deployer/config.rb', line 11 def self.for_env(e = env) environmental = all.fetch('environments', {}) default_conf = environmental.fetch('default', {}) env_conf = environmental.fetch(e, {}) default_conf.deep_merge(env_conf) end |
.images ⇒ Object
31 32 33 |
# File 'lib/rat_deployer/config.rb', line 31 def self.images all.fetch('images', {}) end |
.prompt_enabled? ⇒ Boolean
19 20 21 |
# File 'lib/rat_deployer/config.rb', line 19 def self.prompt_enabled? ENV['RAT_PROMPT'] != 'false' end |
.remote ⇒ Object
23 24 25 |
# File 'lib/rat_deployer/config.rb', line 23 def self.remote ENV['RAT_REMOTE'] =~ /true|1|yes/ end |
.remote_machine_flags ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/rat_deployer/config.rb', line 35 def self.remote_machine_flags machine = for_env.fetch('machine') case machine when Hash [ '--tlsverify', "-H='#{machine.fetch('host')}'", "--tlscacert='#{machine.fetch('ca_cert')}'", "--tlscert='#{machine.fetch('cert')}'", "--tlskey='#{machine.fetch('key')}'" ].join(' ') else raise 'Bad configuration value for `machine`' end end |