class Bosh::Template::EvaluationLink
Attributes
instances[R]
properties[R]
Public Class Methods
new( instances, properties, group_name, group_type, default_network, deployment_name, root_domain, dns_encoder, use_short_dns )
click to toggle source
# File lib/bosh/template/evaluation_link.rb, line 11 def initialize( instances, properties, group_name, group_type, default_network, deployment_name, root_domain, dns_encoder, use_short_dns ) @instances = instances @properties = properties @group_name = group_name @group_type = group_type @default_network = default_network @deployment_name = deployment_name @root_domain = root_domain @dns_encoder = dns_encoder @use_short_dns = use_short_dns end
Public Instance Methods
address(criteria = {})
click to toggle source
# File lib/bosh/template/evaluation_link.rb, line 59 def address(criteria = {}) raise NotImplementedError, 'link.address requires bosh director' if @dns_encoder.nil? full_criteria = criteria.merge( group_name: @group_name, group_type: @group_type, default_network: @default_network, deployment_name: @deployment_name, root_domain: @root_domain, ) @dns_encoder.encode_query(full_criteria, @use_short_dns) end
if_p(*names) { |*values| ... }
click to toggle source
# File lib/bosh/template/evaluation_link.rb, line 46 def if_p(*names) values = names.map do |name| value = lookup_property(@properties, name) return Bosh::Template::EvaluationContext::ActiveElseBlock.new(self) if value.nil? value end yield(*values) Bosh::Template::EvaluationContext::InactiveElseBlock.new end
p(*args)
click to toggle source
# File lib/bosh/template/evaluation_link.rb, line 33 def p(*args) names = Array(args[0]) names.each do |name| result = lookup_property(@properties, name) return result unless result.nil? end return args[1] if args.length == 2 raise UnknownProperty, names end