Module: GsmEnv

Defined in:
lib/gsm_env.rb,
lib/gsm_env/loader.rb,
lib/gsm_env/secret.rb,
lib/gsm_env/version.rb

Defined Under Namespace

Classes: Loader, Secret

Constant Summary collapse

VERSION =
'1.1.1'

Class Method Summary collapse

Class Method Details

.load(project_id: nil, filter: nil, &assigner) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/gsm_env.rb', line 7

def self.load(project_id: nil, filter: nil, &assigner)
  loader = Loader.new(
    project_id: project_id || ENV['GCP_PROJECT_ID'],
    filter: filter
  )
  secrets = loader.load

  assigner ||= lambda { |secret|
    ENV[secret.name] = secret.value
  }
  secrets.each(&assigner)
end