module Capistrano::SrvHosts::InstanceMethods

Public Instance Methods

srv_hosts(srv_record) click to toggle source
# File lib/capistrano/srv_hosts.rb, line 6
def srv_hosts(srv_record)
  @srv_hosts ||= {}
  @srv_hosts[srv_record] ||= Resolv::DNS.open do |dns|
    dns.getresources(srv_record, Resolv::DNS::Resource::IN::SRV).sort_by{|rr| [rr.priority, rr.weight, rr.target.to_s]}.map{ |rr| rr.target.to_s}
  end
  @srv_hosts[srv_record].dup
end
srv_role(new_role, srv_record, *params) click to toggle source
# File lib/capistrano/srv_hosts.rb, line 14
def srv_role(new_role, srv_record, *params)
  role new_role, *srv_hosts(srv_record), *params
end