Sha256: 2e0d61579d9409dec370831c5d1d358d853ca9859076a692cd2fa09b13e8db1e

Contents?: true

Size: 1.28 KB

Versions: 39

Compression:

Stored size: 1.28 KB

Contents

#
# Author:: Celso Fernandes (<fernandes@zertico.com>)
# © Copyright IBM Corporation 2014.
#
# LICENSE: MIT (http://opensource.org/licenses/MIT)
#
require 'fog/core/model'
require 'fog/softlayer/models/dns/records'

module Fog
  module DNS
    class Softlayer

      class Domain < Fog::Model

        identity  :id,           :type => :integer
        attribute :name,         :aliases => 'domain'
        attribute :serial,       :type => :integer
        
        # Times
        attribute :updated_at,   :aliases => 'updateDate', :type => :time

        def initialize(attributes = {})
          super(attributes)
        end
        
        def records(reload = false)
          @records = nil if reload
          @records ||= begin
            Fog::DNS::Softlayer::Records.new(
              :domain       => self,
              :service      => service
            )
          end
        end
        
        def create_record(opts = {})
          opts.merge!({:domain_id => self.id, :service => service})
          record = Fog::DNS::Softlayer::Record.new(opts)
          record.save
          records(true)
          record
        end
        
        def destroy
          requires :id
          response = service.delete_domain self.id
          response.body
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
fog-softlayer-0.4.2.pre lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.4.1 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.4.0 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.30 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.29 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.28 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.27 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.26 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.25 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.24 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.23 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.22 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.21 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.20 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.19 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.18 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.17 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.16 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.15 lib/fog/softlayer/models/dns/domain.rb
fog-softlayer-0.3.14 lib/fog/softlayer/models/dns/domain.rb