aboutsummaryrefslogtreecommitdiff
path: root/lib/leap_cli/config
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2013-03-31 14:14:01 -0700
committerelijah <elijah@riseup.net>2013-03-31 14:14:01 -0700
commit9c131c1d84357175448496590e8d4e31e90118aa (patch)
tree156e4a573fd39b4f256a8c6b4eeaa78303834f02 /lib/leap_cli/config
parent354c455dc6d463d5eed43804d1eb3aaa95c9e471 (diff)
downloadleap_cli-9c131c1d84357175448496590e8d4e31e90118aa.tar.gz
leap_cli-9c131c1d84357175448496590e8d4e31e90118aa.tar.bz2
add ability to search for nodes using nil values.
Diffstat (limited to 'lib/leap_cli/config')
-rw-r--r--lib/leap_cli/config/macros.rb3
-rw-r--r--lib/leap_cli/config/object_list.rb20
2 files changed, 12 insertions, 11 deletions
diff --git a/lib/leap_cli/config/macros.rb b/lib/leap_cli/config/macros.rb
index 3c59356..5f90894 100644
--- a/lib/leap_cli/config/macros.rb
+++ b/lib/leap_cli/config/macros.rb
@@ -21,6 +21,9 @@ module LeapCli; module Config
#
# returns a list of nodes that match the same environment
#
+ # if @node.environment is not set, we return other nodes
+ # where environment is not set.
+ #
def nodes_like_me
nodes[:environment => @node.environment]
end
diff --git a/lib/leap_cli/config/object_list.rb b/lib/leap_cli/config/object_list.rb
index 0c7711f..0c0da14 100644
--- a/lib/leap_cli/config/object_list.rb
+++ b/lib/leap_cli/config/object_list.rb
@@ -40,17 +40,15 @@ module LeapCli
operator = match_value =~ /^!/ ? :not_equal : :equal
each do |name, config|
value = config[field]
- if !value.nil?
- if value.is_a? Array
- if value.include?(match_value)
- results[name] = config
- end
- else
- if operator == :equal && value == match_value
- results[name] = config
- elsif operator == :not_equal && value != match_value
- results[name] = config
- end
+ if value.is_a? Array
+ if value.include?(match_value)
+ results[name] = config
+ end
+ else
+ if operator == :equal && value == match_value
+ results[name] = config
+ elsif operator == :not_equal && value != match_value
+ results[name] = config
end
end
end