aboutsummaryrefslogtreecommitdiff
path: root/lib/leap_cli/config/secrets.rb
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2013-01-30 22:25:37 -0800
committerelijah <elijah@riseup.net>2013-01-30 22:25:37 -0800
commit62dfe5a61b547179babb815245bb8a0e3ea14f6f (patch)
treed594c83dafc9c3d2c80ea3e8e32878468d509076 /lib/leap_cli/config/secrets.rb
parentf688b404c7f1dbcd3650314d5b5279cf2a6657b7 (diff)
downloadleap_cli-62dfe5a61b547179babb815245bb8a0e3ea14f6f.tar.gz
leap_cli-62dfe5a61b547179babb815245bb8a0e3ea14f6f.tar.bz2
fix bug with vanishing secrets
Diffstat (limited to 'lib/leap_cli/config/secrets.rb')
-rw-r--r--lib/leap_cli/config/secrets.rb20
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/leap_cli/config/secrets.rb b/lib/leap_cli/config/secrets.rb
index 00d0cd6..491870d 100644
--- a/lib/leap_cli/config/secrets.rb
+++ b/lib/leap_cli/config/secrets.rb
@@ -20,13 +20,23 @@ module LeapCli; module Config
self[key] ||= value
end
- def dump_json
- self.each_key do |key|
- unless @discovered_keys[key]
- self.delete(key)
+ #
+ # 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)
+ end
end
end
- super
+ super()
end
end