Class: Chambermaid::Namespace
- Inherits:
-
Object
- Object
- Chambermaid::Namespace
- Defined in:
- lib/chambermaid/namespace.rb
Overview
Namespaces each contain a ParameterStore and Environment instance, along with the overload flag
Class Method Summary collapse
-
.load!(path:, overload: false) ⇒ Chambermaid::Namespace
Create a namespace and immediately fetch and inject params to ENV.
Instance Method Summary collapse
-
#initialize(path:, overload: false) ⇒ Namespace
constructor
A new instance of Namespace.
-
#load! ⇒ Object
Load ParameterStore and inject into ENV.
-
#reload! ⇒ Object
Unload params from ENV, reload ParameterStore, and inject into ENV.
-
#unload! ⇒ Object
Unload params from ENV.
Constructor Details
#initialize(path:, overload: false) ⇒ Namespace
Returns a new instance of Namespace.
10 11 12 13 14 15 16 |
# File 'lib/chambermaid/namespace.rb', line 10 def initialize(path:, overload: false) @path = path @overload = overload @store = ParameterStore.new(path: path) @env = Environment.new({}) end |
Class Method Details
.load!(path:, overload: false) ⇒ Chambermaid::Namespace
Create a namespace and immediately fetch and inject params to ENV
26 27 28 29 30 |
# File 'lib/chambermaid/namespace.rb', line 26 def self.load!(path:, overload: false) namespace = new(path: path, overload: overload) namespace.load! namespace end |
Instance Method Details
#load! ⇒ Object
Load ParameterStore and inject into ENV
37 38 39 40 |
# File 'lib/chambermaid/namespace.rb', line 37 def load! @store.load! load_env! end |
#reload! ⇒ Object
Unload params from ENV, reload ParameterStore, and inject into ENV
48 49 50 51 52 |
# File 'lib/chambermaid/namespace.rb', line 48 def reload! @env.unload! @store.reload! load_env! end |
#unload! ⇒ Object
Unload params from ENV
57 58 59 60 |
# File 'lib/chambermaid/namespace.rb', line 57 def unload! @env.unload! Chambermaid.logger.info("unloaded #{@env.size} params from ENV") end |