if args.empty?
nodes = [""]
else
- nodes = manager.filter(args)[:local => true].field(:name)
+ nodes = manager.filter(args)[:environment => "local"].field(:name)
end
if nodes.any?
vagrant_dir = File.dirname(Path.named_path(:vagrantfile))
end
def pick_next_vagrant_ip_address
- taken_ips = manager.nodes[:local => true].field(:ip_address)
+ taken_ips = manager.nodes[:environment => "local"].field(:ip_address)
if taken_ips.any?
highest_ip = taken_ips.map{|ip| IPAddr.new(ip)}.max
new_ip = highest_ip.succ
# merge hashes
if old_value.is_a?(Hash) || new_value.is_a?(Hash)
value = Config::Object.new(@manager, @node)
- old_value.is_a?(Hash) ? value.deep_merge!(old_value) : (value[key] = old_value if old_value.any?)
- new_value.is_a?(Hash) ? value.deep_merge!(new_value, prefer_self) : (value[key] = new_value if new_value.any?)
+ old_value.is_a?(Hash) ? value.deep_merge!(old_value) : (value[key] = old_value if !old_value.nil?)
+ new_value.is_a?(Hash) ? value.deep_merge!(new_value, prefer_self) : (value[key] = new_value if !new_value.nil?)
# merge arrays
elsif old_value.is_a?(Array) || new_value.is_a?(Array)
end
#
- # returns a list of nodes that match similar production level (production, local, development, etc)
+ # returns a list of nodes that match the same environment
#
def nodes_like_me
- nodes[:production => @node.production, :local => @node.local, :development => @node.development]
+ nodes[:environment => @node.environment]
end
class FileMissing < Exception