lib/leap_cli/config/secrets.rb in leap_cli-1.2.5 vs lib/leap_cli/config/secrets.rb in leap_cli-1.5.0

- old
+ new

@@ -1,10 +1,8 @@ # -# # A class for the secrets.json file # -# module LeapCli; module Config class Secrets < Object attr_reader :node_list @@ -12,28 +10,35 @@ def initialize(manager=nil) super(manager) @discovered_keys = {} end - def set(key, value) + def set(key, value, environment=nil) + environment ||= 'default' key = key.to_s - @discovered_keys[key] = true - self[key] ||= value + @discovered_keys[environment] ||= {} + @discovered_keys[environment][key] = true + self[environment] ||= {} + self[environment][key] ||= value end # # if only_discovered_keys is true, then we will only export # those secrets that have been discovered and the prior ones will be cleaned out. # # this should only be triggered when all nodes have been processed, otherwise # secrets that are actually in use will get mistakenly removed. # - # def dump_json(only_discovered_keys=false) if only_discovered_keys - self.each_key do |key| - unless @discovered_keys[key] - self.delete(key) + self.each_key do |environment| + self[environment].each_key do |key| + unless @discovered_keys[environment] && @discovered_keys[environment][key] + self[environment].delete(key) + end + end + if self[environment].empty? + self.delete(environment) end end end super() end