From effe065ad6d810431c61f02330011c7443967bc4 Mon Sep 17 00:00:00 2001 From: elijah Date: Thu, 5 Feb 2015 23:23:33 -0800 Subject: minor - fix indentation --- lib/leap_cli/config/secrets.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/leap_cli/config/secrets.rb') diff --git a/lib/leap_cli/config/secrets.rb b/lib/leap_cli/config/secrets.rb index 366ffd3..e0f3080 100644 --- a/lib/leap_cli/config/secrets.rb +++ b/lib/leap_cli/config/secrets.rb @@ -13,10 +13,10 @@ module LeapCli; module Config @discovered_keys = {} end - # we can't use fetch() or get(), since those already have special meanings - def retrieve(key, environment=nil) - self.fetch(environment||'default', {})[key.to_s] - end + # we can't use fetch() or get(), since those already have special meanings + def retrieve(key, environment=nil) + self.fetch(environment||'default', {})[key.to_s] + end def set(key, value, environment=nil) environment ||= 'default' -- cgit v1.2.3 From 3c1cc376787a7866d929205959e42be403a2c2ce Mon Sep 17 00:00:00 2001 From: elijah Date: Tue, 5 May 2015 15:21:14 -0700 Subject: added support for secrets.set() with value passed as a block, so that secrets don't get needlessly generated --- lib/leap_cli/config/secrets.rb | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'lib/leap_cli/config/secrets.rb') diff --git a/lib/leap_cli/config/secrets.rb b/lib/leap_cli/config/secrets.rb index e0f3080..184d11d 100644 --- a/lib/leap_cli/config/secrets.rb +++ b/lib/leap_cli/config/secrets.rb @@ -14,17 +14,28 @@ module LeapCli; module Config end # we can't use fetch() or get(), since those already have special meanings - def retrieve(key, environment=nil) - self.fetch(environment||'default', {})[key.to_s] + def retrieve(key, environment) + self.fetch(environment, {})[key.to_s] end - def set(key, value, environment=nil) - environment ||= 'default' + def set(*args, &block) + if block_given? + set_with_block(*args, &block) + else + set_without_block(*args) + end + end + + def set_without_block(key, value, environment) + set_with_block(key, environment) {value} + end + + def set_with_block(key, environment, &block) key = key.to_s @discovered_keys[environment] ||= {} @discovered_keys[environment][key] = true self[environment] ||= {} - self[environment][key] ||= value + self[environment][key] ||= yield end # -- cgit v1.2.3