Module: Dnsimple::Client::Registrar

Included in:
RegistrarService
Defined in:
lib/dnsimple/client/registrar.rb

Instance Method Summary collapse

Instance Method Details

#check_domain(account_id, domain_name, options = {}) ⇒ Struct::DomainCheck

Checks whether a domain is available to be registered.

Examples:

Check whether example.com is available:

client.registrar.check(1010, "example.com")

Parameters:

  • account_id (Fixnum)

    the account ID

  • domain_name (#to_s)

    the domain name to check

  • options (Hash) (defaults to: {})

Returns:

Raises:

See Also:



18
19
20
21
22
23
# File 'lib/dnsimple/client/registrar.rb', line 18

def check_domain(, domain_name, options = {})
  endpoint = Client.versioned("/%s/registrar/domains/%s/check" % [, domain_name])
  response = client.get(endpoint, options)

  Dnsimple::Response.new(response, Struct::DomainCheck.new(response["data"]))
end

#register_domain(account_id, domain_name, attributes, options = {}) ⇒ Struct::Domain

Registers a domain.

Examples:

Initiate the registration of example.com using the contact 1234 as registrant

including WHOIS privacy for the domain and enabling auto renewal:
client.registrar.register(1010, "example.com", registrant_id: 1234, privacy: true, auto_renew: true)

Parameters:

  • account_id (Fixnum)

    the account ID

  • domain_name (#to_s)

    the domain name to register

  • attributes (Hash)
  • options (Hash) (defaults to: {})

Returns:

Raises:

See Also:



40
41
42
43
44
45
46
# File 'lib/dnsimple/client/registrar.rb', line 40

def register_domain(, domain_name, attributes, options = {})
  Extra.validate_mandatory_attributes(attributes, [:registrant_id])
  endpoint = Client.versioned("/%s/registrar/domains/%s/registration" % [, domain_name])
  response = client.post(endpoint, attributes, options)

  Dnsimple::Response.new(response, Struct::Domain.new(response["data"]))
end

#renew_domain(account_id, domain_name, attributes = nil, options = {}) ⇒ Struct::Domain

Renews a domain.

Examples:

Renew example.com for 3 years:

client.registrar.renew(1010, "example.com", period: 3)

Parameters:

  • account_id (Fixnum)

    the account ID

  • domain_name (#to_s)

    the domain name to renew

  • attributes (Hash) (defaults to: nil)
  • options (Hash) (defaults to: {})

Returns:

Raises:

See Also:



62
63
64
65
66
67
# File 'lib/dnsimple/client/registrar.rb', line 62

def renew_domain(, domain_name, attributes = nil, options = {})
  endpoint = Client.versioned("/%s/registrar/domains/%s/renewal" % [, domain_name])
  response = client.post(endpoint, attributes, options)

  Dnsimple::Response.new(response, Struct::Domain.new(response["data"]))
end

#transfer_domain(account_id, domain_name, attributes, options = {}) ⇒ Struct::Domain

Starts the transfer of a domain to DNSimple.

Examples:

Initiate the transfer for example.com using the contact 1234 as registrant:

client.registrar.transfer(1010, "example.com", registrant_id: 1234, auth_info: "x1y2z3")

Parameters:

  • account_id (Fixnum)

    the account ID

  • domain_name (#to_s)

    the domain name to transfer

  • attributes (Hash)
  • options (Hash) (defaults to: {})

Returns:

Raises:

See Also:



83
84
85
86
87
88
89
# File 'lib/dnsimple/client/registrar.rb', line 83

def transfer_domain(, domain_name, attributes, options = {})
  Extra.validate_mandatory_attributes(attributes, [:registrant_id])
  endpoint = Client.versioned("/%s/registrar/domains/%s/transfer" % [, domain_name])
  response = client.post(endpoint, attributes, options)

  Dnsimple::Response.new(response, Struct::Domain.new(response["data"]))
end

#transfer_domain_out(account_id, domain_name, options = {}) ⇒ Dnsimple::Response<nil>

Requests the transfer of a domain out of DNSimple.

Examples:

Request to transfer of example.com out of DNSimple:

client.registrar.transfer_out(1010, "example.com")

Parameters:

  • account_id (Fixnum)

    the account ID

  • domain_name (#to_s)

    the domain name to transfer out

  • options (Hash) (defaults to: {})

Returns:

Raises:

See Also:



104
105
106
107
108
109
# File 'lib/dnsimple/client/registrar.rb', line 104

def transfer_domain_out(, domain_name, options = {})
  endpoint = Client.versioned("/%s/registrar/domains/%s/transfer_out" % [, domain_name])
  response = client.post(endpoint, nil, options)

  Dnsimple::Response.new(response, nil)
end