lib/clouddns/dsl.rb in clouddns-0.0.2 vs lib/clouddns/dsl.rb in clouddns-0.0.3

- old
+ new

@@ -1,13 +1,10 @@ module Clouddns class DSL attr_reader :zones attr_reader :fog_options - # This need not be too strict. Only exists to help catch typos. - DNS_REGEX = /\A.*\..*\.\z/ - def initialize @zones = [] @zone = nil @defaults = {} @fog_options = {} @@ -30,11 +27,12 @@ add_record type, *args end end def add_record type, name, value, options={} - name = domainname(name) + name = Utils::parse_domain(name) + options = @defaults.merge(options) value = "\"#{value}\"" if type == 'TXT' raise "records must be added inside a zone" unless @zone raise "record's dns name must end with the current zone" unless name.end_with? @zone.name @@ -43,11 +41,11 @@ end def zone name raise "zones cannot be nested" if @zone - @zone = Zone.new(domainname(name)) + @zone = Zone.new(Utils::parse_domain(name)) @zones << @zone yield @zone = nil end @@ -63,18 +61,9 @@ end end def provider name, options={} @fog_options = options.merge({:provider => name}) - end - - private - def domainname name - if name.end_with? '.' - name - else - "#{name}." - end end end end