Class: Zerigo::DNS::Base

Inherits:
ActiveResource::Base
  • Object
show all
Defined in:
lib/zerigo_dns.rb

Direct Known Subclasses

Host, Zone

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.secureObject

Returns the value of attribute secure.



11
12
13
# File 'lib/zerigo_dns.rb', line 11

def secure
  @secure
end

Class Method Details

.api_key=(v) ⇒ Object



19
20
21
# File 'lib/zerigo_dns.rb', line 19

def self.api_key=(v)
  self.password = v
end

Instance Method Details

#load(attributes, remove_root = false) ⇒ Object

fix load() so that it no longer clobbers @prefix_options also fix bug exposed by reload() where attributes is effectively parsed twice, causing the first line to raise an exception the 2nd time

Raises:

  • (ArgumentError)


30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/zerigo_dns.rb', line 30

def load(attributes, remove_root = false)
  raise ArgumentError, "expected an attributes Hash, got #{attributes.inspect}" unless attributes.is_a?(Hash)
  new_prefix_options, attributes = split_options(attributes)
  @prefix_options.merge!(new_prefix_options)
  attributes.each do |key, value|
    @attributes[key.to_s] =
      case value
        when Array
          if value.all?{|v2| v2.kind_of?(ActiveResource::Base)}
            value.dup rescue value
          else
            resource = find_or_create_resource_for_collection(key)
            value.map { |attrs| attrs.is_a?(String) ? attrs.dup : resource.new(attrs) }
          end
        when Hash
          resource = find_or_create_resource_for(key)
          resource.new(value)
        else
          value.dup rescue value
      end
  end
  self
end