Class: Chambermaid::Namespace

Inherits:
Object
  • Object
show all
Defined in:
lib/chambermaid/namespace.rb

Overview

Namespaces each contain a ParameterStore and Environment instance, along with the overload flag

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path:, overload: false) ⇒ Namespace

Returns a new instance of Namespace.

Parameters:

  • path (String)
  • overload (Boolean) (defaults to: false)


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

Parameters:

  • path (String)
  • overload (Boolean) (defaults to: false)

Returns:

See Also:



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