module Namecheap::Dynamic::Dns::Processor
This module puts it all together and the main functions are here.
Public Instance Methods
process_domains()
click to toggle source
# File lib/namecheap/dynamic/dns/processor.rb, line 8 def process_domains return unless pre_check_domain self.updated_domains = [] domains.each do |domain, attr| next unless pre_check_sub_domains(domain, attr) logger.info("Checking domain: #{domain}") process_subdomains(domain, attr[:subdomains], attr[:password], extract_ip(attr[:ip] ||= ip)) end end
Private Instance Methods
pre_check_domain()
click to toggle source
# File lib/namecheap/dynamic/dns/processor.rb, line 24 def pre_check_domain return false unless got_external_ip? domains? end
pre_check_sub_domains(domain, attr)
click to toggle source
# File lib/namecheap/dynamic/dns/processor.rb, line 29 def pre_check_sub_domains(domain, attr) return unless valid_domain?(domain) return unless password?(attr) return unless subdomains?(attr) return if attr[:ip].nil? && ip.nil? true end
process_ip(target_ip, attributes)
click to toggle source
# File lib/namecheap/dynamic/dns/processor.rb, line 58 def process_ip(target_ip, attributes) if attributes && attributes.key?(:ip) && !attributes[:ip].strip.empty? target_ip = attributes[:ip] end extract_ip(target_ip) end
process_subdomain(domain, subdomain, password, ip)
click to toggle source
# File lib/namecheap/dynamic/dns/processor.rb, line 52 def process_subdomain(domain, subdomain, password, ip) logger.info(" - Updating host '#{subdomain}' !!") request generate_url(subdomain, domain, password, ip) updated_domains.push [subdomain, domain].join('.') end
process_subdomains(domain, subdomains, password, target_ip)
click to toggle source
# File lib/namecheap/dynamic/dns/processor.rb, line 37 def process_subdomains(domain, subdomains, password, target_ip) subdomains.each do |subdomain, attributes| ip = process_ip(target_ip, attributes) next unless valid_domain?([subdomain, domain].join('.')) if host_ip_match?(domain, subdomain, ip) logger.info(" - Host '#{subdomain}' is Valid.") next else process_subdomain(domain, subdomain, password, ip) end end end