Module: Chambermaid::Base
Class Method Summary collapse
Instance Method Summary collapse
-
#add_namespace(path, overload: false) ⇒ Object
Add an AWS SSM parameter namespace to ENV.
-
#add_namespace!(path, overload: false) ⇒ Object
Immediately load an AWS SSM parameter namespace to ENV.
-
#add_service(service, overload: false) ⇒ Object
Add all secrets from Chamber service to ENV.
- #configuration ⇒ Object
- #configure {|_self| ... } ⇒ Object
-
#load! ⇒ Object
Load SSM into ENV.
-
#log_level ⇒ Object
!@attribute [r] log_level @return [Symbol] (default = :info) current logger level.
-
#log_level=(val = :info) ⇒ Object
!@attribute [w] log_level @return [Symbol] (default = :info) current logger level.
-
#logger ⇒ Object
!@attribute [r] logger @return [Logger].
-
#logger=(val) ⇒ Object
!@attribute [w] logger @return [Logger].
- #reload! ⇒ Object
-
#restore! ⇒ Object
(also: #reset!)
Restore ENV to its original state.
- #unload! ⇒ Object
Class Method Details
.extended(base) ⇒ Object
6 7 8 9 |
# File 'lib/chambermaid/base.rb', line 6 def self.extended(base) # Make a copy of ENV before we mess it all up @@_original_env = ENV.to_h.dup.freeze end |
Instance Method Details
#add_namespace(path, overload: false) ⇒ Object
Add an AWS SSM parameter namespace to ENV
57 58 59 60 61 62 |
# File 'lib/chambermaid/base.rb', line 57 def add_namespace(path, overload: false) raise ArgumentError.new("`path` must be a string") unless path.is_a?(String) raise ArgumentError.new("`overload` must be a boolean") unless [true, false].include?(overload) namespaces << Namespace.new(path: path, overload: overload) end |
#add_namespace!(path, overload: false) ⇒ Object
Immediately load an AWS SSM parameter namespace to ENV
79 80 81 82 83 84 |
# File 'lib/chambermaid/base.rb', line 79 def add_namespace!(path, overload: false) raise ArgumentError.new("`path` must be a string") unless path.is_a?(String) raise ArgumentError.new("`overload` must be a boolean") unless [true, false].include?(overload) namespaces << Namespace.load!(path: path, overload: overload) end |
#add_service(service, overload: false) ⇒ Object
Add all secrets from Chamber service to ENV
100 101 102 103 |
# File 'lib/chambermaid/base.rb', line 100 def add_service(service, overload: false) service = "/#{service}" unless service[0] == "/" add_namespace(service) end |
#configuration ⇒ Object
18 19 20 |
# File 'lib/chambermaid/base.rb', line 18 def configuration raise "Namespaces must be defined" unless @namespaces end |
#configure {|_self| ... } ⇒ Object
13 14 15 |
# File 'lib/chambermaid/base.rb', line 13 def configure yield self end |
#load! ⇒ Object
Load SSM into ENV
23 24 25 |
# File 'lib/chambermaid/base.rb', line 23 def load! @namespaces.each(&:load!) end |
#log_level ⇒ Object
!@attribute [r] log_level
@return [Symbol] (default = :info) current logger level
124 125 126 127 128 |
# File 'lib/chambermaid/base.rb', line 124 def log_level return logger.level unless @logger.nil? return @log_level unless @log_level.nil? return :info end |
#log_level=(val = :info) ⇒ Object
!@attribute [w] log_level
@return [Symbol] (default = :info) current logger level
132 133 134 135 136 |
# File 'lib/chambermaid/base.rb', line 132 def log_level=(val = :info) @logger.level = val unless @logger.nil? @log_level = val val end |
#logger ⇒ Object
!@attribute [r] logger
@return [Logger]
107 108 109 110 111 112 |
# File 'lib/chambermaid/base.rb', line 107 def logger @logger ||= Logger.new(STDOUT, level: log_level, progname: "Chambermaid" ) end |
#logger=(val) ⇒ Object
!@attribute [w] logger
@return [Logger]
116 117 118 119 120 |
# File 'lib/chambermaid/base.rb', line 116 def logger=(val) @logger = val @logger.progname = "Chambermaid" logger end |
#reload! ⇒ Object
28 29 30 |
# File 'lib/chambermaid/base.rb', line 28 def reload! @namespaces.each(&:reload!) end |
#restore! ⇒ Object Also known as: reset!
Restore ENV to its original state
37 38 39 |
# File 'lib/chambermaid/base.rb', line 37 def restore! ENV.replace(@@_original_env) end |
#unload! ⇒ Object
32 33 34 |
# File 'lib/chambermaid/base.rb', line 32 def unload! @namespaces.each(&:unload!) end |