dnsimple-ruby 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/.bundle/config +3 -2
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +38 -30
  4. data/README +5 -0
  5. data/README.rdoc +5 -0
  6. data/README.textile +18 -0
  7. data/VERSION +1 -1
  8. data/bin/dnsimple.rb +2 -0
  9. data/dnsimple-ruby.gemspec +64 -10
  10. data/fixtures/vcr_cassettes/DNSimple_Certificate/_all.yml +44 -0
  11. data/fixtures/vcr_cassettes/DNSimple_Certificate/_purchase.yml +44 -0
  12. data/fixtures/vcr_cassettes/DNSimple_Certificate/_submit.yml +44 -0
  13. data/fixtures/vcr_cassettes/DNSimple_Contact/a_new_contact.yml +16 -18
  14. data/fixtures/vcr_cassettes/DNSimple_Contact/an_existing_contact.yml +15 -17
  15. data/fixtures/vcr_cassettes/DNSimple_Domain/_all.yml +45 -96
  16. data/fixtures/vcr_cassettes/DNSimple_Domain/applying_templates.yml +69 -169
  17. data/fixtures/vcr_cassettes/DNSimple_Domain/creating_a_new_domain.yml +16 -18
  18. data/fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_id.yml +15 -17
  19. data/fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_name.yml +15 -17
  20. data/fixtures/vcr_cassettes/DNSimple_Domain/registration/with_a_new_registrant_contact.yml +16 -18
  21. data/fixtures/vcr_cassettes/DNSimple_Domain/registration/with_an_existing_contact.yml +16 -18
  22. data/fixtures/vcr_cassettes/DNSimple_ExtendedAttribute/list_extended_attributes/for_ca.yml +12 -14
  23. data/fixtures/vcr_cassettes/DNSimple_ExtendedAttribute/list_extended_attributes/for_com.yml +12 -14
  24. data/fixtures/vcr_cassettes/DNSimple_Record/_all.yml +59 -247
  25. data/fixtures/vcr_cassettes/DNSimple_Record/creating_a_new_record.yml +16 -63
  26. data/fixtures/vcr_cassettes/DNSimple_Record/find_a_record.yml +13 -60
  27. data/fixtures/vcr_cassettes/DNSimple_Template/a_template.yml +15 -17
  28. data/fixtures/vcr_cassettes/DNSimple_User/_me.yml +15 -17
  29. data/lib/dnsimple/certificate.rb +49 -6
  30. data/lib/dnsimple/command.rb +10 -0
  31. data/lib/dnsimple/commands/add_service.rb +4 -2
  32. data/lib/dnsimple/commands/purchase_certificate.rb +4 -2
  33. data/lib/dnsimple/commands/submit_certificate.rb +19 -0
  34. data/lib/dnsimple/domain.rb +5 -4
  35. data/lib/dnsimple/record.rb +11 -15
  36. data/spec/certificate_spec.rb +31 -3
  37. data/spec/command_spec.rb +19 -0
  38. data/spec/commands/add_service_spec.rb +29 -0
  39. data/spec/commands/purchase_certificate_spec.rb +14 -0
  40. data/spec/commands/submit_certificate_spec.rb +19 -0
  41. data/spec/contact_spec.rb +1 -1
  42. data/spec/domain_spec.rb +21 -19
  43. data/spec/record_spec.rb +10 -9
  44. data/spec/spec_helper.rb +1 -0
  45. data/spec/user_spec.rb +12 -12
  46. metadata +38 -12
  47. data/fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain.yml +0 -46
@@ -30,7 +30,7 @@ module DNSimple #:nodoc:
30
30
  # be undone.
31
31
  def delete(options={})
32
32
  options.merge!(DNSimple::Client.standard_options_with_credentials)
33
- self.class.delete("#{DNSimple::Client.base_uri}/domains/#{id}", options)
33
+ self.class.delete("#{DNSimple::Client.base_uri}/domains/#{name}", options)
34
34
  end
35
35
  alias :destroy :delete
36
36
 
@@ -38,8 +38,9 @@ module DNSimple #:nodoc:
38
38
  # all of the records in the template to the domain.
39
39
  def apply(template, options={})
40
40
  options.merge!(DNSimple::Client.standard_options_with_credentials)
41
+ options.merge!(:body => {})
41
42
  template = resolve_template(template)
42
- self.class.post("#{DNSimple::Client.base_uri}/domains/#{id}/templates/#{template.id}/apply", options)
43
+ self.class.post("#{DNSimple::Client.base_uri}/domains/#{name}/templates/#{template.id}/apply", options)
43
44
  end
44
45
 
45
46
  #:nodoc:
@@ -54,7 +55,7 @@ module DNSimple #:nodoc:
54
55
 
55
56
  def applied_services(options={})
56
57
  options.merge!(DNSimple::Client.standard_options_with_credentials)
57
- response = self.class.get("#{Client.base_uri}/domains/#{id}/applied_services", options)
58
+ response = self.class.get("#{Client.base_uri}/domains/#{name}/applied_services", options)
58
59
  pp response if DNSimple::Client.debug?
59
60
  case response.code
60
61
  when 200
@@ -68,7 +69,7 @@ module DNSimple #:nodoc:
68
69
 
69
70
  def available_services(options={})
70
71
  options.merge!(DNSimple::Client.standard_options_with_credentials)
71
- response = self.class.get("#{DNSimple::Client.base_uri}/domains/#{id}/available_services", options)
72
+ response = self.class.get("#{DNSimple::Client.base_uri}/domains/#{name}/available_services", options)
72
73
  pp response if DNSimple::Client.debug?
73
74
  case response.code
74
75
  when 200
@@ -65,18 +65,16 @@ module DNSimple
65
65
  aliases[name] || name
66
66
  end
67
67
 
68
- def self.create(domain_name, name, record_type, content, options={})
69
- domain = DNSimple::Domain.find(domain_name)
70
-
68
+ def self.create(domain, name, record_type, content, options={})
71
69
  record_hash = {:name => name, :record_type => record_type, :content => content}
72
70
  record_hash[:ttl] = options.delete(:ttl) || 3600
73
71
  record_hash[:prio] = options.delete(:priority)
74
72
  record_hash[:prio] = options.delete(:prio) || ''
75
73
 
76
74
  options.merge!(DNSimple::Client.standard_options_with_credentials)
77
- options.merge!({:query => {:record => record_hash}})
75
+ options.merge!({:body => {:record => record_hash}})
78
76
 
79
- response = self.post("#{DNSimple::Client.base_uri}/domains/#{domain.id}/records", options)
77
+ response = self.post("#{DNSimple::Client.base_uri}/domains/#{domain.name}/records", options)
80
78
 
81
79
  pp response if DNSimple::Client.debug?
82
80
 
@@ -86,16 +84,15 @@ module DNSimple
86
84
  when 401
87
85
  raise RuntimeError, "Authentication failed"
88
86
  when 406
89
- raise DNSimple::RecordExists.new("#{name}.#{domain_name}", response["errors"])
87
+ raise DNSimple::RecordExists.new("#{name}.#{domain.name}", response["errors"])
90
88
  else
91
- raise DNSimple::Error.new("#{name}.#{domain_name}", response["errors"])
89
+ raise DNSimple::Error.new("#{name}.#{domain.name}", response["errors"])
92
90
  end
93
91
  end
94
92
 
95
- def self.find(domain_name, id, options={})
96
- domain = DNSimple::Domain.find(domain_name)
93
+ def self.find(domain, id, options={})
97
94
  options.merge!(DNSimple::Client.standard_options_with_credentials)
98
- response = self.get("#{DNSimple::Client.base_uri}/domains/#{domain.id}/records/#{id}", options)
95
+ response = self.get("#{DNSimple::Client.base_uri}/domains/#{domain.name}/records/#{id}", options)
99
96
 
100
97
  pp response if DNSimple::Client.debug?
101
98
 
@@ -105,16 +102,15 @@ module DNSimple
105
102
  when 401
106
103
  raise RuntimeError, "Authentication failed"
107
104
  when 404
108
- raise RuntimeError, "Could not find record #{id} for domain #{domain_name}"
105
+ raise RuntimeError, "Could not find record #{id} for domain #{domain.name}"
109
106
  else
110
- raise DNSimple::Error.new("#{domain_name}/#{id}", response["errors"])
107
+ raise DNSimple::Error.new("#{domain.name}/#{id}", response["errors"])
111
108
  end
112
109
  end
113
110
 
114
- def self.all(domain_name, options={})
115
- domain = DNSimple::Domain.find(domain_name)
111
+ def self.all(domain, options={})
116
112
  options.merge!(DNSimple::Client.standard_options_with_credentials)
117
- response = self.get("#{DNSimple::Client.base_uri}/domains/#{domain.id}/records", options)
113
+ response = self.get("#{DNSimple::Client.base_uri}/domains/#{domain.name}/records", options)
118
114
 
119
115
  pp response if DNSimple::Client.debug?
120
116
 
@@ -1,17 +1,45 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe DNSimple::Certificate do
4
- let(:domain) { DNSimple::Domain.new(:name => 'example.com') }
4
+ let(:domain_name) { 'example.com' }
5
+ let(:domain) { DNSimple::Domain.new(:name => domain_name) }
6
+
5
7
  describe "#fqdn" do
6
8
  it "joins the name and domain name" do
7
9
  certificate = DNSimple::Certificate.new(:name => 'www')
8
10
  certificate.domain = domain
9
- certificate.fqdn.should eq('www.example.com')
11
+ certificate.fqdn.should eq("www.#{domain_name}")
10
12
  end
11
13
  it "strips blank parts from name" do
12
14
  certificate = DNSimple::Certificate.new(:name => '')
13
15
  certificate.domain = domain
14
- certificate.fqdn.should eq('example.com')
16
+ certificate.fqdn.should eq(domain_name)
17
+ end
18
+ end
19
+
20
+ describe ".purchase" do
21
+ let(:contact) { DNSimple::Contact.new(:id => 1) }
22
+ use_vcr_cassette
23
+ it "purchases a certificate" do
24
+ certificate = DNSimple::Certificate.purchase(domain, 'www', contact)
25
+ certificate.fqdn.should eq("www.#{domain_name}")
26
+ end
27
+ end
28
+
29
+ describe ".all" do
30
+ use_vcr_cassette
31
+ it "returns all certificates for the specific domain" do
32
+ certificates = DNSimple::Certificate.all(domain)
33
+ certificates.length.should eq(1)
34
+ certificates.first.fqdn.should eq('www.example.com')
35
+ end
36
+ end
37
+
38
+ describe "#submit" do
39
+ use_vcr_cassette
40
+ let(:certificate) { DNSimple::Certificate.new(:id => 1, :domain => domain) }
41
+ it "submits a certificate for purchase" do
42
+ certificate.submit("admin@example.com")
15
43
  end
16
44
  end
17
45
 
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'dnsimple/command'
3
+
4
+ class FakeCommand < DNSimple::Command
5
+ def execute
6
+ say "done"
7
+ end
8
+ end
9
+
10
+ describe DNSimple::Command do
11
+ describe "#say" do
12
+ it "writes to the output" do
13
+ s = StringIO.new
14
+ command = FakeCommand.new(s)
15
+ command.execute
16
+ s.string.should eq("done\n")
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+ require 'dnsimple/commands/add_service'
3
+
4
+ describe DNSimple::Commands::AddService do
5
+ let(:out) { StringIO.new }
6
+
7
+ let(:domain_name) { 'example.com' }
8
+ let(:short_name) { 'service-name' }
9
+ let(:args) { [domain_name, short_name] }
10
+
11
+ let(:domain) { DNSimple::Domain.new(:name => domain_name) }
12
+ let(:service) { stub("service", :name => "Service") }
13
+
14
+ before do
15
+ DNSimple::Domain.expects(:find).with(domain_name).returns(domain)
16
+ DNSimple::Service.expects(:find).with(short_name).returns(service)
17
+ end
18
+
19
+ it "adds a service to a domain" do
20
+ domain.expects(:add_service).with(short_name)
21
+ DNSimple::Commands::AddService.new(out).execute(args)
22
+ end
23
+
24
+ it "reports to the caller" do
25
+ domain.stubs(:add_service)
26
+ DNSimple::Commands::AddService.new(out).execute(args)
27
+ out.string.should eq("Added #{service.name} to #{domain_name}\n")
28
+ end
29
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+ require 'dnsimple/certificate'
3
+ require 'dnsimple/commands/purchase_certificate'
4
+
5
+ describe DNSimple::Commands::PurchaseCertificate do
6
+ let(:out) { StringIO.new }
7
+ let(:domain_name) { 'example.com' }
8
+ context "with one argument" do
9
+ it "purchases the certificate" do
10
+ DNSimple::Certificate.expects(:purchase).with(domain_name, '').returns(stub("certificate", :fqdn => domain_name))
11
+ DNSimple::Commands::PurchaseCertificate.new(out).execute([domain_name])
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'dnsimple/commands/submit_certificate'
3
+
4
+ describe DNSimple::Commands::SubmitCertificate do
5
+ let(:out) { StringIO.new }
6
+ let(:domain) { DNSimple::Domain.new(:name => domain_name) }
7
+ let(:domain_name) { 'example.com' }
8
+ let(:name) { 'www' }
9
+ let(:certificate) { DNSimple::Certificate.new(:id => certificate_id, :domain => domain) }
10
+ let(:certificate_id) { 1 }
11
+ let(:approver_email) { 'admin@example.com' }
12
+
13
+ it "submits the certificate" do
14
+ DNSimple::Domain.stubs(:find).with(domain_name).returns(domain)
15
+ DNSimple::Certificate.expects(:find).with(domain, certificate_id).returns(certificate)
16
+ certificate.expects(:submit).with(approver_email)
17
+ DNSimple::Commands::SubmitCertificate.new(out).execute([domain_name, certificate_id, approver_email])
18
+ end
19
+ end
data/spec/contact_spec.rb CHANGED
@@ -28,7 +28,7 @@ describe DNSimple::Contact do
28
28
  describe "an existing contact" do
29
29
  use_vcr_cassette
30
30
  it "can be found by id" do
31
- contact = DNSimple::Contact.find(32)
31
+ contact = DNSimple::Contact.find(1)
32
32
  contact.should_not be_nil
33
33
  end
34
34
  end
data/spec/domain_spec.rb CHANGED
@@ -1,11 +1,14 @@
1
1
  require File.join(File.dirname(__FILE__), 'spec_helper')
2
2
 
3
3
  describe DNSimple::Domain do
4
+ let(:domain_name) { "example.com" }
5
+ let(:contact_id) { 1 }
6
+
4
7
  describe "creating a new domain" do
5
8
  use_vcr_cassette
6
9
  it "has specific attributes" do
7
- @domain = DNSimple::Domain.create("testdomain.com")
8
- @domain.name.should eql("testdomain.com")
10
+ @domain = DNSimple::Domain.create(domain_name)
11
+ @domain.name.should eql(domain_name)
9
12
  @domain.id.should_not be_nil
10
13
  end
11
14
  end
@@ -13,33 +16,34 @@ describe DNSimple::Domain do
13
16
  context "by id" do
14
17
  use_vcr_cassette
15
18
  it "can be found" do
16
- domain = DNSimple::Domain.find(141)
17
- domain.name.should eql("testdomain.com")
19
+ domain = DNSimple::Domain.find(39)
20
+ domain.name.should eql(domain_name)
18
21
  domain.id.should_not be_nil
19
22
  end
20
23
  end
21
24
  context "by name" do
22
25
  use_vcr_cassette
23
26
  it "can be found" do
24
- domain = DNSimple::Domain.find("testdomain.com")
25
- domain.name.should eql("testdomain.com")
27
+ domain = DNSimple::Domain.find(domain_name)
28
+ domain.name.should eql(domain_name)
26
29
  domain.id.should_not be_nil
27
30
  end
28
31
  end
29
32
  end
30
33
 
31
34
  context "registration" do
32
- let(:name) { "testdomain.net" }
33
35
 
34
36
  context "with an existing contact" do
37
+ let(:domain_name) { "dnsimple-example-1321042237.com" }
35
38
  use_vcr_cassette
36
39
  it "can be registered" do
37
- domain = DNSimple::Domain.register(name, {:id => 4})
38
- domain.name.should eql(name)
40
+ domain = DNSimple::Domain.register(domain_name, {:id => contact_id})
41
+ domain.name.should eql(domain_name)
39
42
  end
40
43
  end
41
44
 
42
45
  context "with a new registrant contact" do
46
+ let(:domain_name) { "dnsimple-example-1321042288.com" }
43
47
  use_vcr_cassette
44
48
  it "can be registered" do
45
49
  registrant = {
@@ -52,8 +56,8 @@ describe DNSimple::Domain do
52
56
  :postal_code => '33143',
53
57
  :phone => '321 555 1212'
54
58
  }
55
- domain = DNSimple::Domain.register(name, registrant)
56
- domain.name.should eql(name)
59
+ domain = DNSimple::Domain.register(domain_name, registrant)
60
+ domain.name.should eql(domain_name)
57
61
  end
58
62
  end
59
63
  end
@@ -62,8 +66,8 @@ describe DNSimple::Domain do
62
66
  use_vcr_cassette
63
67
  before do
64
68
  @domains = []
65
- 3.times do |n|
66
- @domains << DNSimple::Domain.create("testdomain#{n}.com")
69
+ 2.times do |n|
70
+ @domains << DNSimple::Domain.create("example#{n}.com")
67
71
  end
68
72
  end
69
73
  it "returns a list of domains" do
@@ -74,13 +78,11 @@ describe DNSimple::Domain do
74
78
 
75
79
  describe "applying templates" do
76
80
  use_vcr_cassette
77
- before do
78
- @domain = DNSimple::Domain.find("testdomain.com")
79
- end
81
+ let(:domain) { DNSimple::Domain.find("example.com") }
80
82
  it "applies a named template" do
81
- DNSimple::Record.all(@domain.name).should be_empty
82
- @domain.apply("googleapps")
83
- DNSimple::Record.all(@domain.name).should_not be_empty
83
+ DNSimple::Record.all(domain).should be_empty
84
+ domain.apply("googleapps")
85
+ DNSimple::Record.all(domain).should_not be_empty
84
86
  end
85
87
  end
86
88
  end
data/spec/record_spec.rb CHANGED
@@ -2,23 +2,24 @@ require File.join(File.dirname(__FILE__), 'spec_helper')
2
2
 
3
3
  describe DNSimple::Record do
4
4
 
5
- let(:domain) { DNSimple::Domain.new(:name => 'example.com') }
5
+ let(:domain_name) { 'example.com' }
6
+ let(:domain) { DNSimple::Domain.new(:name => domain_name) }
6
7
 
7
8
  describe "#fqdn" do
8
9
  it "joins the name and domain name" do
9
10
  record = DNSimple::Record.new(:name => 'www', :domain => domain)
10
- record.fqdn.should eq('www.example.com')
11
+ record.fqdn.should eq("www.#{domain_name}")
11
12
  end
12
13
  it "strips a blank name" do
13
14
  record = DNSimple::Record.new(:name => '', :domain => domain)
14
- record.fqdn.should eq('example.com')
15
+ record.fqdn.should eq(domain_name)
15
16
  end
16
17
  end
17
18
 
18
19
  describe "creating a new record" do
19
20
  use_vcr_cassette
20
21
  it "has specific attributes" do
21
- record = DNSimple::Record.create('testdomain.com', "", "A", "1.2.3.4", :ttl => 600)
22
+ record = DNSimple::Record.create(domain, "", "A", "1.2.3.4", :ttl => 600)
22
23
  record.name.should eql("")
23
24
  record.record_type.should eql("A")
24
25
  record.content.should eql("1.2.3.4")
@@ -29,7 +30,7 @@ describe DNSimple::Record do
29
30
  describe "find a record" do
30
31
  use_vcr_cassette
31
32
  it "can be found by id" do
32
- record = DNSimple::Record.find('testdomain.com', 193)
33
+ record = DNSimple::Record.find(domain, 70)
33
34
  record.name.should eql("")
34
35
  record.record_type.should eql("A")
35
36
  record.content.should eql("1.2.3.4")
@@ -43,13 +44,13 @@ describe DNSimple::Record do
43
44
  before do
44
45
  @records = []
45
46
 
46
- @records << DNSimple::Record.create("testdomain.com", "", "A", "4.5.6.7")
47
- @records << DNSimple::Record.create("testdomain.com", "www", "CNAME", "testdomain.com")
48
- @records << DNSimple::Record.create("testdomain.com", "", "MX", "mail.foo.com", :prio => 10)
47
+ @records << DNSimple::Record.create(domain, "", "A", "4.5.6.7")
48
+ @records << DNSimple::Record.create(domain, "www", "CNAME", "testdomain.com")
49
+ @records << DNSimple::Record.create(domain, "", "MX", "mail.foo.com", :prio => 10)
49
50
  end
50
51
 
51
52
  it "returns a list of records" do
52
- records = DNSimple::Record.all('testdomain.com')
53
+ records = DNSimple::Record.all(domain)
53
54
  records.should_not be_empty
54
55
  records.length.should eql(@records.length)
55
56
  end
data/spec/spec_helper.rb CHANGED
@@ -10,6 +10,7 @@ VCR.config do |c|
10
10
  end
11
11
 
12
12
  RSpec.configure do |c|
13
+ c.mock_framework = :mocha
13
14
  c.extend VCR::RSpec::Macros
14
15
  end
15
16
 
data/spec/user_spec.rb CHANGED
@@ -3,21 +3,21 @@ require File.join(File.dirname(__FILE__), 'spec_helper')
3
3
  describe DNSimple::User do
4
4
  describe ".me" do
5
5
  use_vcr_cassette
6
- before do
7
- @user = DNSimple::User.me
8
- end
6
+ let(:user) { DNSimple::User.me }
7
+
9
8
  it "returns the current user" do
10
- @user.should_not be_nil
9
+ user.should_not be_nil
11
10
  end
11
+
12
12
  it "has attributes" do
13
- @user.id.should_not be_nil
14
- @user.created_at.should_not be_nil
15
- @user.updated_at.should_not be_nil
16
- @user.email.should_not be_nil
17
- @user.login_count.should_not be_nil
18
- @user.failed_login_count.should_not be_nil
19
- @user.domain_count.should_not be_nil
20
- @user.domain_limit.should_not be_nil
13
+ user.id.should_not be_nil
14
+ user.created_at.should_not be_nil
15
+ user.updated_at.should_not be_nil
16
+ user.email.should_not be_nil
17
+ user.login_count.should_not be_nil
18
+ user.failed_login_count.should_not be_nil
19
+ user.domain_count.should_not be_nil
20
+ user.domain_limit.should_not be_nil
21
21
  end
22
22
  end
23
23
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dnsimple-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 0
9
- - 0
10
- version: 1.0.0
8
+ - 1
9
+ - 1
10
+ version: 1.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Anthony Eden
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-11-03 00:00:00 Z
18
+ date: 2011-11-12 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  requirement: &id001 !ruby/object:Gem::Requirement
@@ -86,7 +86,7 @@ dependencies:
86
86
  - 0
87
87
  version: "0"
88
88
  version_requirements: *id005
89
- name: ruby-debug
89
+ name: mocha
90
90
  prerelease: false
91
91
  type: :development
92
92
  - !ruby/object:Gem::Dependency
@@ -100,7 +100,7 @@ dependencies:
100
100
  - 0
101
101
  version: "0"
102
102
  version_requirements: *id006
103
- name: cucumber
103
+ name: ruby-debug
104
104
  prerelease: false
105
105
  type: :development
106
106
  - !ruby/object:Gem::Dependency
@@ -114,7 +114,7 @@ dependencies:
114
114
  - 0
115
115
  version: "0"
116
116
  version_requirements: *id007
117
- name: aruba
117
+ name: cucumber
118
118
  prerelease: false
119
119
  type: :development
120
120
  - !ruby/object:Gem::Dependency
@@ -128,7 +128,7 @@ dependencies:
128
128
  - 0
129
129
  version: "0"
130
130
  version_requirements: *id008
131
- name: ruby-debug
131
+ name: aruba
132
132
  prerelease: false
133
133
  type: :development
134
134
  - !ruby/object:Gem::Dependency
@@ -142,7 +142,7 @@ dependencies:
142
142
  - 0
143
143
  version: "0"
144
144
  version_requirements: *id009
145
- name: fakeweb
145
+ name: ruby-debug
146
146
  prerelease: false
147
147
  type: :development
148
148
  - !ruby/object:Gem::Dependency
@@ -156,7 +156,7 @@ dependencies:
156
156
  - 0
157
157
  version: "0"
158
158
  version_requirements: *id010
159
- name: vcr
159
+ name: fakeweb
160
160
  prerelease: false
161
161
  type: :development
162
162
  - !ruby/object:Gem::Dependency
@@ -170,6 +170,20 @@ dependencies:
170
170
  - 0
171
171
  version: "0"
172
172
  version_requirements: *id011
173
+ name: vcr
174
+ prerelease: false
175
+ type: :development
176
+ - !ruby/object:Gem::Dependency
177
+ requirement: &id012 !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ hash: 3
183
+ segments:
184
+ - 0
185
+ version: "0"
186
+ version_requirements: *id012
173
187
  name: httparty
174
188
  prerelease: false
175
189
  type: :runtime
@@ -215,12 +229,14 @@ files:
215
229
  - features/step_definitions/record_steps.rb
216
230
  - features/step_definitions/template_steps.rb
217
231
  - features/support/env.rb
232
+ - fixtures/vcr_cassettes/DNSimple_Certificate/_all.yml
233
+ - fixtures/vcr_cassettes/DNSimple_Certificate/_purchase.yml
234
+ - fixtures/vcr_cassettes/DNSimple_Certificate/_submit.yml
218
235
  - fixtures/vcr_cassettes/DNSimple_Contact/a_new_contact.yml
219
236
  - fixtures/vcr_cassettes/DNSimple_Contact/an_existing_contact.yml
220
237
  - fixtures/vcr_cassettes/DNSimple_Domain/_all.yml
221
238
  - fixtures/vcr_cassettes/DNSimple_Domain/applying_templates.yml
222
239
  - fixtures/vcr_cassettes/DNSimple_Domain/creating_a_new_domain.yml
223
- - fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain.yml
224
240
  - fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_id.yml
225
241
  - fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_name.yml
226
242
  - fixtures/vcr_cassettes/DNSimple_Domain/registration/with_a_new_registrant_contact.yml
@@ -236,6 +252,7 @@ files:
236
252
  - lib/dnsimple/certificate.rb
237
253
  - lib/dnsimple/cli.rb
238
254
  - lib/dnsimple/client.rb
255
+ - lib/dnsimple/command.rb
239
256
  - lib/dnsimple/commands/add_service.rb
240
257
  - lib/dnsimple/commands/add_template_record.rb
241
258
  - lib/dnsimple/commands/apply_template.rb
@@ -267,6 +284,7 @@ files:
267
284
  - lib/dnsimple/commands/purchase_certificate.rb
268
285
  - lib/dnsimple/commands/register_domain.rb
269
286
  - lib/dnsimple/commands/remove_service.rb
287
+ - lib/dnsimple/commands/submit_certificate.rb
270
288
  - lib/dnsimple/commands/transfer_domain.rb
271
289
  - lib/dnsimple/commands/update_contact.rb
272
290
  - lib/dnsimple/commands/update_record.rb
@@ -282,6 +300,10 @@ files:
282
300
  - lib/dnsimple/user.rb
283
301
  - spec/README
284
302
  - spec/certificate_spec.rb
303
+ - spec/command_spec.rb
304
+ - spec/commands/add_service_spec.rb
305
+ - spec/commands/purchase_certificate_spec.rb
306
+ - spec/commands/submit_certificate_spec.rb
285
307
  - spec/contact_spec.rb
286
308
  - spec/domain_spec.rb
287
309
  - spec/extended_attributes_spec.rb
@@ -324,6 +346,10 @@ specification_version: 3
324
346
  summary: A ruby wrapper for the DNSimple API
325
347
  test_files:
326
348
  - spec/certificate_spec.rb
349
+ - spec/command_spec.rb
350
+ - spec/commands/add_service_spec.rb
351
+ - spec/commands/purchase_certificate_spec.rb
352
+ - spec/commands/submit_certificate_spec.rb
327
353
  - spec/contact_spec.rb
328
354
  - spec/domain_spec.rb
329
355
  - spec/extended_attributes_spec.rb