aboutsummaryrefslogtreecommitdiff
path: root/lib/leap_cli/config/object.rb
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2013-06-22 15:52:48 -0700
committerelijah <elijah@riseup.net>2013-06-22 15:52:48 -0700
commit0ffdf42cf2171deb0bdd4c54f8281c1c1257ee86 (patch)
treeb2a6ebe57fbca426104ae364a3a5381e731c4361 /lib/leap_cli/config/object.rb
parentcae55de7bf25d60f4f504c658b936bbbd94ff464 (diff)
downloadleap_cli-0ffdf42cf2171deb0bdd4c54f8281c1c1257ee86.tar.gz
leap_cli-0ffdf42cf2171deb0bdd4c54f8281c1c1257ee86.tar.bz2
improve `leap inspect`
Diffstat (limited to 'lib/leap_cli/config/object.rb')
-rw-r--r--lib/leap_cli/config/object.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/leap_cli/config/object.rb b/lib/leap_cli/config/object.rb
index 1edef3f..00997b1 100644
--- a/lib/leap_cli/config/object.rb
+++ b/lib/leap_cli/config/object.rb
@@ -184,6 +184,21 @@ module LeapCli
self.deep_merge!(object, true)
end
+ #
+ # Make a copy of ourselves, except only including the specified keys.
+ #
+ # Also, the result is flattened to a single hash, so a key of 'a.b' becomes 'a_b'
+ #
+ def pick(*keys)
+ keys.map(&:to_s).inject(self.class.new(@manager)) do |hsh, key|
+ value = self.get(key)
+ if !value.nil?
+ hsh[key.gsub('.','_')] = value
+ end
+ hsh
+ end
+ end
+
protected
#