Module: Dnsimple::Client::Registrar
- Included in:
- RegistrarService
- Defined in:
- lib/dnsimple/client/registrar.rb
Instance Method Summary collapse
-
#available?(name, options = {}) ⇒ Boolean
Checks the availability of a domain name.
-
#check(name, options = {}) ⇒ Hash
Checks the availability of a domain name.
-
#extended_attributes(tld, options = {}) ⇒ Array<Struct::ExtendedAttribute>
(also: #list_extended_attributes)
List the extended attributes for a TLD.
-
#prices(options = {}) ⇒ Array<Struct::Price>
(also: #list_prices)
List all the TLD prices.
-
#register(name, registrant_id, extended_attributes = {}, options = {}) ⇒ Struct::Domain
Registers a domain.
-
#renew(name, options = {}) ⇒ Struct::Domain
Renew a domain.
-
#transfer(name, auth_code, registrant_id, extended_attributes = {}, options = {}) ⇒ Struct::TransferOrder
Transfers a domain.
Instance Method Details
#available?(name, options = {}) ⇒ Boolean
Checks the availability of a domain name.
31 32 33 |
# File 'lib/dnsimple/client/registrar.rb', line 31 def available?(name, = {}) check(name, )["status"] == "available" end |
#check(name, options = {}) ⇒ Hash
Checks the availability of a domain name.
13 14 15 16 17 18 19 20 21 |
# File 'lib/dnsimple/client/registrar.rb', line 13 def check(name, = {}) response = begin client.get(Client.versioned("/domains/#{name}/check"), ) rescue NotFoundError => e e.response end response.parsed_response end |
#extended_attributes(tld, options = {}) ⇒ Array<Struct::ExtendedAttribute> Also known as: list_extended_attributes
List the extended attributes for a TLD.
97 98 99 100 101 |
# File 'lib/dnsimple/client/registrar.rb', line 97 def extended_attributes(tld, = {}) response = client.get(Client.versioned("/extended_attributes/#{tld}"), ) response.map { |r| Struct::ExtendedAttribute.new(r) } end |
#prices(options = {}) ⇒ Array<Struct::Price> Also known as: list_prices
List all the TLD prices.
111 112 113 114 115 |
# File 'lib/dnsimple/client/registrar.rb', line 111 def prices( = {}) response = client.get(Client.versioned("/prices"), ) response.map { |r| Struct::Price.new(r["price"]) } end |
#register(name, registrant_id, extended_attributes = {}, options = {}) ⇒ Struct::Domain
Registers a domain.
46 47 48 49 50 51 |
# File 'lib/dnsimple/client/registrar.rb', line 46 def register(name, registrant_id, extended_attributes = {}, = {}) = Extra.deep_merge(, { domain: { name: name, registrant_id: registrant_id }, extended_attribute: extended_attributes }) response = client.post(Client.versioned("/domain_registrations"), ) Struct::Domain.new(response["domain"]) end |
#renew(name, options = {}) ⇒ Struct::Domain
Renew a domain.
81 82 83 84 85 86 |
# File 'lib/dnsimple/client/registrar.rb', line 81 def renew(name, = {}) = Extra.deep_merge(, { domain: { name: name }}) response = client.post(Client.versioned("/domain_renewals"), ) Struct::Domain.new(response["domain"]) end |
#transfer(name, auth_code, registrant_id, extended_attributes = {}, options = {}) ⇒ Struct::TransferOrder
Transfers a domain.
65 66 67 68 69 70 |
# File 'lib/dnsimple/client/registrar.rb', line 65 def transfer(name, auth_code, registrant_id, extended_attributes = {}, = {}) = Extra.deep_merge(, { domain: { name: name, registrant_id: registrant_id }, extended_attribute: extended_attributes, transfer_order: { authinfo: auth_code }}) response = client.post(Client.versioned("/domain_transfers"), ) Struct::TransferOrder.new(response["transfer_order"]) end |