namecheap 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,31 +1,31 @@
1
1
  module Namecheap
2
2
  class Ns < Api
3
+ # Creates a new nameserver.
4
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:domains.ns:create
3
5
  def create(sld, tld, options = {})
4
- args = options.clone
5
- args['SLD'] = sld
6
- args['TLD'] = tld
7
- api_call('namecheap.domains.ns.create', args)
6
+ options = {:SLD => sld, :TLD => tld}.merge(options)
7
+ get 'domains.ns.create', options
8
8
  end
9
9
 
10
+ # Deletes a nameserver associated with the requested domain.
11
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:domains.ns:delete
10
12
  def delete(sld, tld, options = {})
11
- args = options.clone
12
- args['SLD'] = sld
13
- args['TLD'] = tld
14
- api_call('namecheap.domains.ns.delete', args)
13
+ options = {:SLD => sld, :TLD => tld}.merge(options)
14
+ get 'domains.ns.delete', options
15
15
  end
16
16
 
17
+ # Retrieves information about a registered nameserver.
18
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:domains.ns:getinfo
17
19
  def get_info(sld, tld, options = {})
18
- args = options.clone
19
- args['SLD'] = sld
20
- args['TLD'] = tld
21
- api_call('namecheap.domains.ns.getInfo', args)
20
+ options = {:SLD => sld, :TLD => tld}.merge(options)
21
+ get 'domains.ns.getInfo', options
22
22
  end
23
23
 
24
+ # Updates the IP address of a registered nameserver.
25
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:domains.ns:update
24
26
  def update(sld, tld, options = {})
25
- args = options.clone
26
- args['SLD'] = sld
27
- args['TLD'] = tld
28
- api_call('namecheap.domains.ns.update', args)
27
+ options = {:SLD => sld, :TLD => tld}.merge(options)
28
+ get 'domains.ns.update', options
29
29
  end
30
30
  end
31
31
  end
@@ -1,60 +1,70 @@
1
1
  module Namecheap
2
2
  class Ssl < Api
3
+ # Activates a newly purchased SSL certificate.
4
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:activate
3
5
  def activate(id, options = {})
4
- args = options.clone
5
- args['CertificateID'] = id
6
- api_call('namecheap.ssl.activate', args)
6
+ options = {:CertificateID => id}.merge(options)
7
+ get 'ssl.activate', options
7
8
  end
8
9
 
10
+ # Retrieves information about the requested SSL certificate.
11
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:getinfo
9
12
  def get_info(id, options = {})
10
- args = options.clone
11
- args['CertificateID'] = id
12
- api_call('namecheap.ssl.getInfo', args)
13
+ options = {:CertificateID => id}.merge(options)
14
+ get 'ssl.getInfo', options
13
15
  end
14
16
 
17
+ # Parsers the CSR.
18
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:parsecsr
15
19
  def parse_csr(csr, options = {})
16
- args = options.clone
17
- args['csr'] = csr
18
- api_call('namecheap.ssl.parseCSR', args)
20
+ options = {:csr => csr}.merge(options)
21
+ get 'ssl.parseCSR', options
19
22
  end
20
23
 
24
+ # Gets approver email list for the requested domain.
25
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:getapproveremaillist
21
26
  def get_approver_email_list(domain, options = {})
22
- args = options.clone
23
- args['DomainName'] = domain
24
- api_call('namecheap.ssl.getApproverEmailList', args)
27
+ options = {:DomainName => domain}.merge(options)
28
+ get 'ssl.getApproverEmailList', options
25
29
  end
26
30
 
31
+ # Returns a list of SSL certificates for a particular user.
32
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:getlist
27
33
  def get_list(options = {})
28
- args = options.clone
29
- api_call('namecheap.ssl.getList', args)
34
+ get 'ssl.getList', options
30
35
  end
31
36
 
37
+ # Creates a new SSL certificate.
38
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:create
32
39
  def create(options = {})
33
- args = options.clone
34
- api_call('namecheap.ssl.create', args)
40
+ get 'ssl.create', options
35
41
  end
36
42
 
43
+ # Renews an SSL certificate.
44
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:renew
37
45
  def renew(options = {})
38
- args = options.clone
39
- api_call('namecheap.ssl.renew', args)
46
+ get 'ssl.renew', options
40
47
  end
41
48
 
49
+ # Resends the approver email.
50
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:resendapproveremail
42
51
  def resend_approver_email(id, options = {})
43
- args = options.clone
44
- args['CertificateID'] = id
45
- api_call('namecheap.ssl.resendApproverEmail', args)
52
+ options = {:CertificateID => id}.merge(options)
53
+ get 'ssl.resendApproverEmail', options
46
54
  end
47
55
 
56
+ # Resends the fulfilment email containing the certificate.
57
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:resendfulfillmentemail
48
58
  def resend_fulfillment_email(id, options = {})
49
- args = options.clone
50
- args['CertificateID'] = id
51
- api_call('namecheap.ssl.resendfulfillmentemail', args)
59
+ options = {:CertificateID => id}.merge(options)
60
+ get 'ssl.resendfulfillmentemail', options
52
61
  end
53
62
 
63
+ # Reissues an SSL certificate.
64
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:ssl:reissue
54
65
  def reissue(id, options = {})
55
- args = options.clone
56
- args['CertificateID'] = id
57
- api_call('namecheap.ssl.reissue', args)
66
+ options = {:CertificateID => id}.merge(options)
67
+ get 'ssl.reissue', options
58
68
  end
59
69
  end
60
70
  end
@@ -1,26 +1,30 @@
1
1
  module Namecheap
2
2
  class Transfers < Api
3
+ # Transfers a domain to Namecheap.
4
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:domains.transfer:create
3
5
  def create(domain, options = {})
4
- args = options.clone
5
- args['DomainName'] = domain
6
- api_call('namecheap.domains.transfer.create', args)
6
+ options = {:DomainName => domain}.merge(options)
7
+ get 'domains.transfer.create', options
7
8
  end
8
9
 
10
+ # Gets the status of a particular transfer.
11
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:domains.transfer:getstatus
9
12
  def get_status(id, options = {})
10
- args = options.clone
11
- args['TransferID'] = id
12
- api_call('namecheap.domains.transfer.getStatus', args)
13
+ options = {:TransferID => id}.merge(options)
14
+ get 'domains.transfer.getStatus', options
13
15
  end
14
16
 
17
+ # Updates the status of a particular transfer.
18
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:domains.transfer:updatestatus
15
19
  def update_status(id, options = {})
16
- args = options.clone
17
- args['TransferID'] = id
18
- api_call('namecheap.domains.transfer.updateStatus', args)
20
+ options = {:TransferID => id}.merge(options)
21
+ get 'domains.transfer.updateStatus', options
19
22
  end
20
-
23
+
24
+ # Gets the list of domain transfers.
25
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:domains.transfer:getlist
21
26
  def get_list(options = {})
22
- args = options.clone
23
- api_call('namecheap.domains.transfer.getList', args)
27
+ get 'domains.transfer.getList', options
24
28
  end
25
29
  end
26
30
  end
@@ -1,44 +1,58 @@
1
1
  module Namecheap
2
2
  class Users < Api
3
+ # Creates a new user account at NameCheap.
4
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:create
5
+ def create(options = {})
6
+ get 'users.create', options
7
+ end
8
+
9
+ # Returns pricing information for a requested product type.
10
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:getpricing
3
11
  def get_pricing(options = {})
4
- args = options.clone
5
- api_call('namecheap.users.getPricing', args)
12
+ get 'users.getPricing', options
6
13
  end
7
14
 
15
+ # Gets information about fund in the user's account.
16
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:getbalances
8
17
  def get_balances(options = {})
9
- args = options.clone
10
- api_call('namecheap.users.getBalances', args)
18
+ get 'users.getBalances', options
11
19
  end
12
20
 
21
+ # Changes the password for a user.
22
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:changepassword
13
23
  def change_password(options = {})
14
- args = options.clone
15
- api_call('namecheap.users.changePassword', args)
24
+ get 'users.changePassword', options
16
25
  end
17
26
 
27
+ # Updates user account information for the particular user.
28
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:update
18
29
  def update(options = {})
19
- args = options.clone
20
- api_call('namecheap.users.update', args)
30
+ get 'users.update', options
21
31
  end
22
32
 
33
+ # Allows you to add funds to a user account.
34
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:createaddfundsrequest
23
35
  def create_add_funds_request(options = {})
24
- args = options.clone
25
- api_call('namecheap.users.createaddfundsrequest', args)
36
+ get 'users.createaddfundsrequest', options
26
37
  end
27
38
 
39
+ # Gets the status of add funds request.
40
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:getaddfundsstatus
28
41
  def get_add_funds_status(id, options = {})
29
- args = options.clone
30
- args['TokenId'] = id
31
- api_call('namecheap.users.getAddFundsStatus', args)
42
+ options = {:TokenId => id}.merge(options)
43
+ get 'users.getAddFundsStatus', options
32
44
  end
33
45
 
46
+ # Validates the username and password of user accounts you have created.
47
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:login
34
48
  def login(options = {})
35
- args = options.clone
36
- api_call('namecheap.users.login', args)
49
+ get 'users.login', options
37
50
  end
38
51
 
52
+ # Sends a reset password link to user.
53
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:users:resetpassword
39
54
  def reset_password(options = {})
40
- args = options.clone
41
- api_call('namecheap.users.resetPassword', args)
55
+ get 'users.resetPassword', options
42
56
  end
43
57
  end
44
58
  end
@@ -1,3 +1,3 @@
1
1
  module Namecheap
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -1,40 +1,45 @@
1
1
  module Namecheap
2
2
  class Whois_Guard < Api
3
+ # Allots WhoisGuard privacy protection.
4
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:whoisguard:allot
3
5
  def allot(id, domain, options = {})
4
- args = options.clone
5
- args['WhoisguardId'] = id
6
- args['DomainName'] = domain
7
- api_call('namecheap.whoisguard.allot', args)
6
+ options = {:WhoisguardId => id, :DomainName => domain}.merge(options)
7
+ get 'whoisguard.allot', options
8
8
  end
9
9
 
10
+ # Discards the WhoisGuard.
11
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:whoisguard:discard
10
12
  def discard(id, options = {})
11
- args = options.clone
12
- args['WhoisguardId'] = id
13
- api_call('namecheap.whoisguard.discard', args)
13
+ options = {:WhoisguardId => id}.merge(options)
14
+ get 'whoisguard.discard', options
14
15
  end
15
16
 
17
+ # Unallots WhoisGuard privacy protection for the WhoisguardID.
18
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:whoisguard:unallot
16
19
  def unallot(id, options = {})
17
- args = options.clone
18
- args['WhoisguardId'] = id
19
- api_call('namecheap.whoisguard.unallot', args)
20
+ options = {:WhoisguardId => id}.merge(options)
21
+ get 'whoisguard.unallot', options
20
22
  end
21
23
 
24
+ # Disables WhoisGuard privacy protection for the WhoisguardID.
25
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:whoisguard:disable
22
26
  def disable(id, options = {})
23
- args = options.clone
24
- args['WhoisguardId'] = id
25
- api_call('namecheap.whoisguard.disable', args)
27
+ options = {:WhoisguardId => id}.merge(options)
28
+ get 'whoisguard.disable', options
26
29
  end
27
30
 
31
+ # Enables WhoisGuard privacy protection for the WhoisguardID.
32
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:whoisguard:enable
28
33
  def enable(id, options = {})
29
- args = options.clone
30
- args['WhoisguardId'] = id
31
- api_call('namecheap.whoisguard.enable', args)
34
+ options = {:WhoisguardId => id}.merge(options)
35
+ get 'whoisguard.enable', options
32
36
  end
33
37
 
38
+ # Changes WhoisGuard email address.
39
+ # @see http://developer.namecheap.com/docs/doku.php?id=api-reference:whoisguard:changeemailaddress
34
40
  def change_email_address(id, options = {})
35
- args = options.clone
36
- args['WhoisguardId'] = id
37
- api_call('namecheap.whoisguard.changeemailaddress', args)
41
+ options = {:WhoisguardId => id}.merge(options)
42
+ get 'whoisguard.changeemailaddress', options
38
43
  end
39
44
  end
40
45
  end
@@ -8,8 +8,10 @@ Gem::Specification.new do |s|
8
8
  s.authors = ["parasquid"]
9
9
  s.email = ["tristan.gomez@gmail.com"]
10
10
  s.homepage = "https://github.com/parasquid/namecheap"
11
- s.summary = %q{Ruby wrapper for the Namecheap API}
12
11
  s.description = %q{Ruby wrapper for the Namecheap API}
12
+ s.summary = s.description
13
+ s.homepage = 'https://github.com/parasquid/namecheap'
14
+ s.licenses = ['GNU']
13
15
 
14
16
  s.rubyforge_project = "namecheap"
15
17
 
@@ -18,8 +20,8 @@ Gem::Specification.new do |s|
18
20
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
21
  s.require_paths = ["lib"]
20
22
 
21
- # specify any dependencies here; for example:
22
23
  s.add_development_dependency "rspec"
23
- # s.add_runtime_dependency "rest-client"
24
+ s.add_development_dependency 'rspec-its'
24
25
  s.add_runtime_dependency "httparty"
26
+ s.add_runtime_dependency "activesupport", '>= 3.0.0'
25
27
  end
@@ -0,0 +1,25 @@
1
+ begin
2
+ require 'rspec'
3
+ require 'rspec/its'
4
+ rescue LoadError
5
+ require 'rubygems'
6
+ gem 'rspec'
7
+ require 'spec'
8
+ end
9
+
10
+ $:.unshift File.expand_path('../../lib',__FILE__)
11
+ require 'namecheap'
12
+
13
+ RSpec.configure do |config|
14
+ def reset_config
15
+ Namecheap.config.username = nil
16
+ Namecheap.config.key = nil
17
+ Namecheap.config.client_ip = nil
18
+ end
19
+
20
+ def set_dummy_config
21
+ Namecheap.config.username = "the_username"
22
+ Namecheap.config.key = "the_key"
23
+ Namecheap.config.client_ip = "127.0.0.1"
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ require 'helper'
2
+
3
+ describe Namecheap::Dns do
4
+ before { set_dummy_config }
5
+
6
+ it 'should initialize' do
7
+ Namecheap::Dns.new
8
+ end
9
+
10
+ it 'should be already initialized from the Namecheap namespace' do
11
+ Namecheap.dns.should_not be_nil
12
+ end
13
+ end
@@ -1,6 +1,8 @@
1
- require File.dirname(__FILE__) + '/spec_helper'
1
+ require 'helper'
2
+
3
+ describe Namecheap::Domains do
4
+ before { set_dummy_config }
2
5
 
3
- describe "Domains" do
4
6
  it 'should initialize' do
5
7
  Namecheap::Domains.new
6
8
  end
@@ -0,0 +1,13 @@
1
+ require 'helper'
2
+
3
+ describe Namecheap::Ns do
4
+ before { set_dummy_config }
5
+
6
+ it 'should initialize' do
7
+ Namecheap::Ns.new
8
+ end
9
+
10
+ it 'should be already initialized from the Namecheap namespace' do
11
+ Namecheap.ns.should_not be_nil
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ require 'helper'
2
+
3
+ describe Namecheap::Ssl do
4
+ before { set_dummy_config }
5
+
6
+ it 'should initialize' do
7
+ Namecheap::Ssl.new
8
+ end
9
+
10
+ it 'should be already initialized from the Namecheap namespace' do
11
+ Namecheap.ssl.should_not be_nil
12
+ end
13
+
14
+ it 'should not raise an error' do
15
+ Namecheap.ssl.get_list
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ require 'helper'
2
+
3
+ describe Namecheap::Transfers do
4
+ before { set_dummy_config }
5
+
6
+ it 'should initialize' do
7
+ Namecheap::Transfers.new
8
+ end
9
+
10
+ it 'should be already initialized from the Namecheap namespace' do
11
+ Namecheap.transfers.should_not be_nil
12
+ end
13
+ end