Class: Asteroid::Config
- Inherits:
-
Object
- Object
- Asteroid::Config
- Defined in:
- lib/asteroid/config.rb,
lib/asteroid/provider.rb
Class Attribute Summary collapse
-
.asteroid_dir ⇒ Object
Returns the value of attribute asteroid_dir.
-
.config_dir ⇒ Object
Returns the value of attribute config_dir.
-
.file_dir ⇒ Object
Returns the value of attribute file_dir.
-
.namespace ⇒ Object
Returns the value of attribute namespace.
-
.providers ⇒ Object
Returns the value of attribute providers.
-
.script_dir ⇒ Object
Returns the value of attribute script_dir.
-
.secret_config_dir ⇒ Object
Returns the value of attribute secret_config_dir.
-
.secret_config_file ⇒ Object
Returns the value of attribute secret_config_file.
-
.secret_dir ⇒ Object
Returns the value of attribute secret_dir.
-
.secret_file ⇒ Object
Returns the value of attribute secret_file.
-
.secret_file_dir ⇒ Object
Returns the value of attribute secret_file_dir.
-
.secret_instance_dir ⇒ Object
Returns the value of attribute secret_instance_dir.
-
.secret_key_dir ⇒ Object
Returns the value of attribute secret_key_dir.
-
.secret_provider_file ⇒ Object
Returns the value of attribute secret_provider_file.
-
.secret_script_dir ⇒ Object
Returns the value of attribute secret_script_dir.
-
.server_dir ⇒ Object
Returns the value of attribute server_dir.
Class Method Summary collapse
- .boot! ⇒ Object
- .configure(root, options = {}) {|_self| ... } ⇒ Object
- .default_config(root) ⇒ Object
- .secret ⇒ Object
- .template_engines ⇒ Object
Class Attribute Details
.asteroid_dir ⇒ Object
Returns the value of attribute asteroid_dir.
66 67 68 |
# File 'lib/asteroid/config.rb', line 66 def asteroid_dir @asteroid_dir end |
.config_dir ⇒ Object
Returns the value of attribute config_dir.
70 71 72 |
# File 'lib/asteroid/config.rb', line 70 def config_dir @config_dir end |
.file_dir ⇒ Object
Returns the value of attribute file_dir.
68 69 70 |
# File 'lib/asteroid/config.rb', line 68 def file_dir @file_dir end |
.namespace ⇒ Object
Returns the value of attribute namespace.
65 66 67 |
# File 'lib/asteroid/config.rb', line 65 def namespace @namespace end |
.providers ⇒ Object
Returns the value of attribute providers.
29 30 31 |
# File 'lib/asteroid/provider.rb', line 29 def providers @providers end |
.script_dir ⇒ Object
Returns the value of attribute script_dir.
67 68 69 |
# File 'lib/asteroid/config.rb', line 67 def script_dir @script_dir end |
.secret_config_dir ⇒ Object
Returns the value of attribute secret_config_dir.
73 74 75 |
# File 'lib/asteroid/config.rb', line 73 def secret_config_dir @secret_config_dir end |
.secret_config_file ⇒ Object
Returns the value of attribute secret_config_file.
74 75 76 |
# File 'lib/asteroid/config.rb', line 74 def secret_config_file @secret_config_file end |
.secret_dir ⇒ Object
Returns the value of attribute secret_dir.
71 72 73 |
# File 'lib/asteroid/config.rb', line 71 def secret_dir @secret_dir end |
.secret_file ⇒ Object
Returns the value of attribute secret_file.
72 73 74 |
# File 'lib/asteroid/config.rb', line 72 def secret_file @secret_file end |
.secret_file_dir ⇒ Object
Returns the value of attribute secret_file_dir.
77 78 79 |
# File 'lib/asteroid/config.rb', line 77 def secret_file_dir @secret_file_dir end |
.secret_instance_dir ⇒ Object
Returns the value of attribute secret_instance_dir.
79 80 81 |
# File 'lib/asteroid/config.rb', line 79 def secret_instance_dir @secret_instance_dir end |
.secret_key_dir ⇒ Object
Returns the value of attribute secret_key_dir.
78 79 80 |
# File 'lib/asteroid/config.rb', line 78 def secret_key_dir @secret_key_dir end |
.secret_provider_file ⇒ Object
Returns the value of attribute secret_provider_file.
75 76 77 |
# File 'lib/asteroid/config.rb', line 75 def secret_provider_file @secret_provider_file end |
.secret_script_dir ⇒ Object
Returns the value of attribute secret_script_dir.
76 77 78 |
# File 'lib/asteroid/config.rb', line 76 def secret_script_dir @secret_script_dir end |
.server_dir ⇒ Object
Returns the value of attribute server_dir.
69 70 71 |
# File 'lib/asteroid/config.rb', line 69 def server_dir @server_dir end |
Class Method Details
.boot! ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/asteroid/config.rb', line 23 def boot! if File.exists? self.secret_config_file @secrets = YAML::load_file self.secret_config_file || {} else @secrets = {} end # Load secret provider definition file if File.exists?(Config.secret_provider_file) eval File.read(Config.secret_provider_file) end # Set search paths Asteroid::FileReference.search_paths << Config.file_dir Asteroid::FileReference.search_paths << Config.secret_file_dir Asteroid::ScriptReference.search_paths << Config.script_dir Asteroid::ScriptReference.search_paths << Config.secret_script_dir Asteroid::KeyReference.search_paths << Config.secret_key_dir end |
.configure(root, options = {}) {|_self| ... } ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/asteroid/config.rb', line 45 def configure(root, = {}, &block) = default_config(root) .merge! .each do |key, value| self.send "#{key}=", value end yield self if block_given? boot! end |
.default_config(root) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/asteroid/config.rb', line 81 def default_config(root) asteroid_dir = File.join(root, '/asteroid') config_dir = File.join(root, '/config') secret_dir = File.join(root, '/secrets') { asteroid_dir: asteroid_dir, script_dir: File.join(asteroid_dir, '/scripts'), file_dir: File.join(asteroid_dir, '/files'), server_dir: File.join(asteroid_dir, '/servers'), config_dir: config_dir, secret_dir: secret_dir, secret_config_dir: File.join(secret_dir, '/config'), secret_config_file: File.join(secret_dir, '/config', '/secrets.yml'), secret_provider_file: File.join(secret_dir, '/config', '/providers.rb'), secret_script_dir: File.join(secret_dir, '/scripts'), secret_file_dir: File.join(secret_dir, '/files'), secret_key_dir: File.join(secret_dir, '/keys'), secret_instance_dir: File.join(secret_dir, '/instances') } end |
.secret ⇒ Object
57 58 59 |
# File 'lib/asteroid/config.rb', line 57 def secret @secrets end |
.template_engines ⇒ Object
61 62 63 |
# File 'lib/asteroid/config.rb', line 61 def template_engines @template_engines ||= {} end |