aboutsummaryrefslogtreecommitdiff
path: root/lib/leap_cli/config/secrets.rb
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2013-01-28 02:45:36 -0800
committerelijah <elijah@riseup.net>2013-01-28 02:45:36 -0800
commit89da880dc2ae9aff184d81a5edc702a5c0f1cd87 (patch)
tree9697b28a47c169aade816ec9220ae6874e22723b /lib/leap_cli/config/secrets.rb
parentd30e9067a94e0d236df65d37b81809ddd6a4f153 (diff)
downloadleap_cli-89da880dc2ae9aff184d81a5edc702a5c0f1cd87.tar.gz
leap_cli-89da880dc2ae9aff184d81a5edc702a5c0f1cd87.tar.bz2
remove old secrets from secrets.json if they are not defined anywhere.
Diffstat (limited to 'lib/leap_cli/config/secrets.rb')
-rw-r--r--lib/leap_cli/config/secrets.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/leap_cli/config/secrets.rb b/lib/leap_cli/config/secrets.rb
new file mode 100644
index 0000000..00d0cd6
--- /dev/null
+++ b/lib/leap_cli/config/secrets.rb
@@ -0,0 +1,33 @@
+#
+#
+# A class for the secrets.json file
+#
+#
+
+module LeapCli; module Config
+
+ class Secrets < Object
+ attr_reader :node_list
+
+ def initialize(manager=nil)
+ super(manager)
+ @discovered_keys = {}
+ end
+
+ def set(key, value)
+ key = key.to_s
+ @discovered_keys[key] = true
+ self[key] ||= value
+ end
+
+ def dump_json
+ self.each_key do |key|
+ unless @discovered_keys[key]
+ self.delete(key)
+ end
+ end
+ super
+ end
+ end
+
+end; end