dnsimple-ruby 1.3.2 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +9 -2
  3. data/.rspec +1 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +7 -0
  7. data/CHANGELOG.md +20 -0
  8. data/Gemfile +0 -2
  9. data/LICENSE +2 -2
  10. data/README.md +121 -0
  11. data/Rakefile +30 -14
  12. data/bin/dnsimple.rb +1 -1
  13. data/dnsimple-ruby.gemspec +9 -8
  14. data/features/README +1 -1
  15. data/features/step_definitions/cli_steps.rb +1 -1
  16. data/features/support/env.rb +4 -4
  17. data/fixtures/vcr_cassettes/DNSimple_Certificate/_all.yml +45 -32
  18. data/fixtures/vcr_cassettes/DNSimple_Certificate/_purchase.yml +45 -32
  19. data/fixtures/vcr_cassettes/DNSimple_Certificate/_submit.yml +45 -32
  20. data/fixtures/vcr_cassettes/DNSimple_Contact/a_new_contact.yml +39 -31
  21. data/fixtures/vcr_cassettes/DNSimple_Contact/an_existing_contact.yml +39 -31
  22. data/fixtures/vcr_cassettes/DNSimple_Domain/_all.yml +113 -94
  23. data/fixtures/vcr_cassettes/DNSimple_Domain/applying_templates.yml +186 -156
  24. data/fixtures/vcr_cassettes/DNSimple_Domain/creating_a_new_domain.yml +39 -32
  25. data/fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_id.yml +39 -32
  26. data/fixtures/vcr_cassettes/DNSimple_Domain/finding_an_existing_domain/by_name.yml +39 -32
  27. data/fixtures/vcr_cassettes/DNSimple_Domain/registration/with_a_new_registrant_contact.yml +40 -32
  28. data/fixtures/vcr_cassettes/DNSimple_Domain/registration/with_an_existing_contact.yml +40 -32
  29. data/fixtures/vcr_cassettes/DNSimple_ExtendedAttribute/list_extended_attributes/for_ca.yml +262 -29
  30. data/fixtures/vcr_cassettes/DNSimple_ExtendedAttribute/list_extended_attributes/for_com.yml +35 -29
  31. data/fixtures/vcr_cassettes/DNSimple_Record/_all.yml +147 -125
  32. data/fixtures/vcr_cassettes/DNSimple_Record/creating_a_new_record.yml +39 -32
  33. data/fixtures/vcr_cassettes/DNSimple_Record/find_a_record.yml +39 -32
  34. data/fixtures/vcr_cassettes/DNSimple_Template/a_template.yml +41 -32
  35. data/fixtures/vcr_cassettes/DNSimple_User/_me.yml +38 -31
  36. data/lib/dnsimple.rb +14 -1
  37. data/lib/dnsimple/base.rb +7 -5
  38. data/lib/dnsimple/certificate.rb +100 -95
  39. data/lib/dnsimple/cli.rb +92 -93
  40. data/lib/dnsimple/client.rb +109 -99
  41. data/lib/dnsimple/commands/{describe_certificate.rb → certificate_describe.rb} +2 -2
  42. data/lib/dnsimple/commands/{list_certificates.rb → certificate_list.rb} +2 -2
  43. data/lib/dnsimple/commands/{purchase_certificate.rb → certificate_purchase.rb} +3 -5
  44. data/lib/dnsimple/commands/{submit_certificate.rb → certificate_submit.rb} +3 -5
  45. data/lib/dnsimple/commands/{create_contact.rb → contact_create.rb} +8 -6
  46. data/lib/dnsimple/commands/{delete_contact.rb → contact_delete.rb} +2 -2
  47. data/lib/dnsimple/commands/{describe_contact.rb → contact_describe.rb} +2 -2
  48. data/lib/dnsimple/commands/{list_contacts.rb → contact_list.rb} +2 -2
  49. data/lib/dnsimple/commands/{update_contact.rb → contact_update.rb} +2 -2
  50. data/lib/dnsimple/commands/{apply_template.rb → domain_apply_template.rb} +2 -2
  51. data/lib/dnsimple/commands/{check_domain.rb → domain_check.rb} +2 -2
  52. data/lib/dnsimple/commands/{clear_domain.rb → domain_clear.rb} +2 -2
  53. data/lib/dnsimple/commands/{create_domain.rb → domain_create.rb} +2 -2
  54. data/lib/dnsimple/commands/{delete_domain.rb → domain_delete.rb} +2 -2
  55. data/lib/dnsimple/commands/{describe_domain.rb → domain_describe.rb} +2 -2
  56. data/lib/dnsimple/commands/{list_domains.rb → domain_list.rb} +2 -2
  57. data/lib/dnsimple/commands/{register_domain.rb → domain_register.rb} +2 -2
  58. data/lib/dnsimple/commands/{transfer_domain.rb → domain_transfer.rb} +2 -2
  59. data/lib/dnsimple/commands/{list_extended_attributes.rb → extended_attribute_list.rb} +2 -2
  60. data/lib/dnsimple/commands/{describe_user.rb → me.rb} +2 -2
  61. data/lib/dnsimple/commands/{create_record.rb → record_create.rb} +5 -7
  62. data/lib/dnsimple/commands/{delete_record.rb → record_delete.rb} +2 -2
  63. data/lib/dnsimple/commands/{describe_record.rb → record_describe.rb} +2 -2
  64. data/lib/dnsimple/commands/{list_records.rb → record_list.rb} +4 -6
  65. data/lib/dnsimple/commands/{update_record.rb → record_update.rb} +2 -2
  66. data/lib/dnsimple/commands/{add_service.rb → service_add.rb} +3 -5
  67. data/lib/dnsimple/commands/{describe_service.rb → service_describe.rb} +2 -2
  68. data/lib/dnsimple/commands/{list_services.rb → service_list.rb} +2 -2
  69. data/lib/dnsimple/commands/{list_applied_services.rb → service_list_applied.rb} +2 -2
  70. data/lib/dnsimple/commands/{list_available_services.rb → service_list_available.rb} +2 -2
  71. data/lib/dnsimple/commands/{remove_service.rb → service_remove.rb} +2 -2
  72. data/lib/dnsimple/commands/{create_template.rb → template_create.rb} +2 -2
  73. data/lib/dnsimple/commands/{delete_template.rb → template_delete.rb} +2 -2
  74. data/lib/dnsimple/commands/{add_template_record.rb → template_record_create.rb} +2 -2
  75. data/lib/dnsimple/commands/{delete_template_record.rb → template_record_delete.rb} +2 -2
  76. data/lib/dnsimple/commands/{list_template_records.rb → template_record_list.rb} +2 -2
  77. data/lib/dnsimple/commands/{list_templates.rb → templates_list.rb} +2 -2
  78. data/lib/dnsimple/contact.rb +115 -110
  79. data/lib/dnsimple/domain.rb +134 -132
  80. data/lib/dnsimple/error.rb +8 -19
  81. data/lib/dnsimple/extended_attribute.rb +39 -33
  82. data/lib/dnsimple/record.rb +71 -67
  83. data/lib/dnsimple/service.rb +31 -24
  84. data/lib/dnsimple/template.rb +52 -46
  85. data/lib/dnsimple/template_record.rb +61 -53
  86. data/lib/dnsimple/transfer_order.rb +24 -18
  87. data/lib/dnsimple/user.rb +22 -18
  88. data/lib/dnsimple/version.rb +1 -1
  89. data/spec/README +1 -1
  90. data/spec/ci/.dnsimple.test +3 -0
  91. data/spec/commands/{purchase_certificate_spec.rb → certificate_purchase_spec.rb} +3 -4
  92. data/spec/commands/{submit_certificate_spec.rb → certificate_submit_spec.rb} +3 -4
  93. data/spec/commands/{create_record_spec.rb → record_create_spec.rb} +4 -4
  94. data/spec/commands/{list_records_spec.rb → records_list_spec.rb} +2 -13
  95. data/spec/commands/{add_service_spec.rb → service_add_spec.rb} +3 -12
  96. data/spec/{certificate_spec.rb → dnsimple/certificate_spec.rb} +0 -0
  97. data/spec/dnsimple/client_spec.rb +45 -18
  98. data/spec/{contact_spec.rb → dnsimple/contact_spec.rb} +3 -1
  99. data/spec/{domain_spec.rb → dnsimple/domain_spec.rb} +2 -0
  100. data/spec/{extended_attributes_spec.rb → dnsimple/extended_attributes_spec.rb} +4 -0
  101. data/spec/{record_spec.rb → dnsimple/record_spec.rb} +2 -0
  102. data/spec/{template_spec.rb → dnsimple/template_spec.rb} +0 -0
  103. data/spec/{user_spec.rb → dnsimple/user_spec.rb} +2 -0
  104. data/spec/spec_helper.rb +24 -10
  105. metadata +96 -99
  106. data/Gemfile.lock +0 -71
  107. data/README +0 -108
  108. data/README.rdoc +0 -108
  109. data/README.textile +0 -138
  110. data/lib/dnsimple/command.rb +0 -10
  111. data/spec/command_spec.rb +0 -19
data/Gemfile.lock DELETED
@@ -1,71 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- dnsimple-ruby (1.3.0)
5
- httparty
6
-
7
- GEM
8
- remote: http://rubygems.org/
9
- specs:
10
- aruba (0.4.7)
11
- childprocess (>= 0.2.2)
12
- cucumber (>= 1.1.1)
13
- ffi (= 1.0.9)
14
- rspec (>= 2.7.0)
15
- builder (3.0.0)
16
- childprocess (0.2.2)
17
- ffi (~> 1.0.6)
18
- columnize (0.3.4)
19
- cucumber (1.1.2)
20
- builder (>= 2.1.2)
21
- diff-lcs (>= 1.1.2)
22
- gherkin (~> 2.6.2)
23
- json (>= 1.4.6)
24
- term-ansicolor (>= 1.0.6)
25
- diff-lcs (1.1.3)
26
- fakeweb (1.3.0)
27
- ffi (1.0.9)
28
- gherkin (2.6.3)
29
- json (>= 1.4.6)
30
- httparty (0.8.1)
31
- multi_json
32
- multi_xml
33
- json (1.6.1)
34
- linecache (0.46)
35
- rbx-require-relative (> 0.0.4)
36
- metaclass (0.0.1)
37
- mocha (0.10.0)
38
- metaclass (~> 0.0.1)
39
- multi_json (1.0.3)
40
- multi_xml (0.4.1)
41
- rake (0.9.2.2)
42
- rbx-require-relative (0.0.5)
43
- rspec (2.7.0)
44
- rspec-core (~> 2.7.0)
45
- rspec-expectations (~> 2.7.0)
46
- rspec-mocks (~> 2.7.0)
47
- rspec-core (2.7.1)
48
- rspec-expectations (2.7.0)
49
- diff-lcs (~> 1.1.2)
50
- rspec-mocks (2.7.0)
51
- ruby-debug (0.10.4)
52
- columnize (>= 0.1)
53
- ruby-debug-base (~> 0.10.4.0)
54
- ruby-debug-base (0.10.4)
55
- linecache (>= 0.3)
56
- term-ansicolor (1.0.7)
57
- vcr (1.11.3)
58
-
59
- PLATFORMS
60
- ruby
61
-
62
- DEPENDENCIES
63
- aruba
64
- cucumber
65
- dnsimple-ruby!
66
- fakeweb
67
- mocha
68
- rake
69
- rspec (>= 2.0.0)
70
- ruby-debug
71
- vcr
data/README DELETED
@@ -1,108 +0,0 @@
1
- A Ruby command line utility and wrapper for the DNSimple API.
2
-
3
- DNSimple is a hosted DNS service that can be found at http://dnsimple.com/
4
-
5
- == Credentials
6
-
7
- Create a file in your home directory called .dnsimple
8
-
9
- In this file add the following:
10
-
11
- username: YOUR_USERNAME
12
- password: YOUR_PASSWORD
13
-
14
- == Commands
15
-
16
- There are two ways to interact with the DNSimple Ruby wrapper. The first is
17
- to use the command line utility that is included. The commands available
18
- are as follows:
19
-
20
- For help:
21
-
22
- * dnsimple help
23
-
24
- The following commands are available for domains:
25
-
26
- * dnsimple list
27
- * dnsimple describe domain.com
28
- * dnsimple create domain.com
29
- * dnsimple register domain.com registrant_id
30
- * dnsimple transfer domain.com registrant_id [authinfo]
31
- * dnsimple delete domain.com
32
- * dnsimple apply domain.com template_short_name
33
-
34
- Please note that domain registration and transfer can only be done through the API for domains that do not require extended attributes. A future version of the API will add support for extended attributes.
35
-
36
- The following commands are available for records:
37
-
38
- * dnsimple record:create [--prio=priority] domain.com name type content [ttl]
39
- * dnsimple record:list domain.com
40
- * dnsimple record:delete domain.com record_id
41
-
42
- The following commands are available for custom templates:
43
-
44
- * dnsimple template:list
45
- * dnsimple template:create name short_name [description]
46
- * dnsimple template:delete short_name
47
- * dnsimple template:list_records short_name
48
- * dnsimple template:add_record short_name name type content [ttl] [prio]
49
- * dnsimple template:delete_record short_name template_record_id
50
-
51
- The following commands are available for managing contacts:
52
-
53
- * dnsimple contact:list
54
- * dnsimple contact:describe id
55
- * dnsimple contact:create [name:value name:value ...]
56
- * dnsimple contact:update id [name:value name:value ...]
57
- * dnsimple contact:delete id
58
-
59
- The following commands are available for purchasing certificates:
60
-
61
- * dnsimple certificate:purchase domain.com name contact_id
62
- * dnsimple certificate:submit id
63
-
64
- The contact name/value pairs are:
65
-
66
- * first_name
67
- * last_name
68
- * organization_name (optional)
69
- * job_title (required if organization name is specified)
70
- * address1
71
- * address2 (optional)
72
- * city
73
- * state_province (also aliased as state)
74
- * postal_code
75
- * country
76
- * email
77
- * phone
78
- * phone_ext (optional)
79
- * fax (optional)
80
-
81
- == Wrapper Classes
82
-
83
- In addition to the command line utility you may also use the included Ruby
84
- classes directly in your Ruby applications.
85
-
86
- Sample:
87
-
88
- require 'rubygems'
89
- require 'dnsimple'
90
-
91
- DNSimple::Client.username = 'YOUR_USERNAME'
92
- DNSimple::Client.password = 'YOUR_PASSWORD'
93
-
94
- puts "Domains..."
95
- Domain.all.each do |domain|
96
- puts " #{domain.name}"
97
- end
98
-
99
- domain = Domain.find("example.com")
100
- domain.apply("template") # applies a standard or custom template to the domain
101
-
102
- domain = Domain.create("newdomain.com")
103
- puts "Added #{domain.name}"
104
- domain.delete # removes from DNSimple
105
-
106
- The complete RDoc for the wrapper classes can be found here:
107
-
108
- http://rubydoc.info/gems/dnsimple-ruby/1.2.6/
data/README.rdoc DELETED
@@ -1,108 +0,0 @@
1
- A Ruby wrapper for the DNSimple API.
2
-
3
- == Credentials
4
-
5
- Create a file in your home directory called .dnsimple
6
-
7
- In this file add the following:
8
-
9
- username: YOUR_USERNAME
10
- password: YOUR_PASSWORD
11
-
12
- Alternatively you can pass the credentials via command-line arguments, as in:
13
-
14
- dnsimple -u username -p password command
15
-
16
-
17
- == Commands
18
-
19
- The following commands are available for domains:
20
-
21
- * dnsimple list
22
- * dnsimple describe domain.com
23
- * dnsimple create domain.com
24
- * dnsimple register domain.com registrant_id
25
- * dnsimple transfer domain.com registrant_id [authinfo]
26
- * dnsimple delete domain.com
27
- * dnsimple apply domain.com template_short_name
28
-
29
- Please note that domain registration and transfer can only be done through the API for domains that do not require extended attributes. A future version of the API will add support for extended attributes.
30
-
31
- The following commands are available for records:
32
-
33
- * dnsimple record:create [--prio=priority] domain.com name type content [ttl]
34
- * dnsimple record:list domain.com
35
- * dnsimple record:delete domain.com record_id
36
-
37
- The following commands are available for custom templates:
38
-
39
- * dnsimple template:list
40
- * dnsimple template:create name short_name [description]
41
- * dnsimple template:delete short_name
42
- * dnsimple template:list_records short_name
43
- * dnsimple template:add_record short_name name type content [ttl] [prio]
44
- * dnsimple template:delete_record short_name template_record_id
45
-
46
- The following commands are available for managing contacts:
47
-
48
- * dnsimple contact:list
49
- * dnsimple contact:describe id
50
- * dnsimple contact:create [name:value name:value ...]
51
- * dnsimple contact:update id [name:value name:value ...]
52
- * dnsimple contact:delete id
53
-
54
- The following commands are available for purchasing certificates:
55
-
56
- * dnsimple certificate:purchase domain.com name
57
- * dnsimple certificate:submit id
58
-
59
- === Contact Attributes
60
-
61
- The contact attributes that can be used in the name:value pairs are:
62
-
63
- * first_name
64
- * last_name
65
- * organization_name (optional)
66
- * job_title (required if organization name is specified)
67
- * address1
68
- * address2 (optional)
69
- * city
70
- * state_province (also aliased as state)
71
- * postal_code
72
- * country
73
- * email
74
- * phone
75
- * phone_ext (optional)
76
- * fax (optional)
77
-
78
- == Wrapper Classes
79
-
80
- In addition to the command line utility you may also use the included Ruby
81
- classes directly in your Ruby applications.
82
-
83
- Sample:
84
-
85
- require 'rubygems'
86
- require 'dnsimple'
87
-
88
- DNSimple::Client.username = 'YOUR_USERNAME'
89
- DNSimple::Client.password = 'YOUR_PASSWORD'
90
-
91
- user = User.me
92
- puts "#{user.domain_count} domains"
93
-
94
- puts "Domains..."
95
- Domain.all.each do |domain|
96
- puts " #{domain.name}"
97
- end
98
-
99
- domain = Domain.find("example.com")
100
- domain.apply("template") # applies a standard or custom template to the domain
101
-
102
- domain = Domain.create("newdomain.com")
103
- puts "Added #{domain.name}"
104
- domain.delete # removes from DNSimple
105
-
106
- The complete RDoc for the wrapper classes can be found here:
107
-
108
- http://rubydoc.info/gems/dnsimple-ruby/1.2.6/
data/README.textile DELETED
@@ -1,138 +0,0 @@
1
- A Ruby command line utility and wrapper for the DNSimple API.
2
-
3
- DNSimple is a hosted DNS service that can be found at "http://dnsimple.com/":http://dnsimple.com/
4
-
5
- h2. Installation
6
-
7
- <pre><code>[sudo] gem install dnsimple-ruby</code></pre>
8
-
9
- h2. Credentials
10
-
11
- Create a file in your home directory called .dnsimple
12
-
13
- In this file add the following:
14
-
15
- <pre><code>username: YOUR_USERNAME
16
- password: YOUR_PASSWORD
17
- </code></pre>
18
-
19
- Alternatively you can pass the credentials via command-line arguments, as in:
20
-
21
- <pre><code>dnsimple -u username -p password list</code></pre>
22
-
23
- h2. Commands
24
-
25
- There are two ways to interact with the DNSimple Ruby wrapper. The first is
26
- to use the command line utility that is included.
27
-
28
- The commands available are as follows:
29
-
30
- For help:
31
-
32
- * dnsimple help
33
-
34
- The following commands are available for domains:
35
-
36
- * dnsimple list
37
- * dnsimple describe domain.com
38
- * dnsimple create domain.com
39
- * dnsimple register domain.com registrant_id
40
- * dnsimple transfer domain.com registrant_id [authinfo]
41
- * dnsimple delete domain.com
42
- * dnsimple apply domain.com template_short_name
43
-
44
- Please note that domain registration and transfer can only be done through the API for domains that do not require extended attributes. A future version of the API will add support for extended attributes.
45
-
46
- The following commands are available for records:
47
-
48
- * dnsimple record:create [--prio=priority] domain.com name type content [ttl]
49
- * dnsimple record:list domain.com
50
- * dnsimple record:delete domain.com record_id
51
-
52
- The following commands are available for custom templates:
53
-
54
- * dnsimple template:list
55
- * dnsimple template:create name short_name [description]
56
- * dnsimple template:delete short_name
57
- * dnsimple template:list_records short_name
58
- * dnsimple template:add_record short_name name type content [ttl] [prio]
59
- * dnsimple template:delete_record short_name template_record_id
60
-
61
- The following commands are available for managing contacts:
62
-
63
- * dnsimple contact:list
64
- * dnsimple contact:describe id
65
- * dnsimple contact:create [name:value name:value ...]
66
- * dnsimple contact:update id [name:value name:value ...]
67
- * dnsimple contact:delete id
68
-
69
- To list all extended attributes for a given TLD:
70
-
71
- * dnsimple extended-attributes:list tld
72
-
73
- The following commands are available for listing services and adding and removing them from domains
74
-
75
- * service:list
76
- * service:describe short_name
77
- * service:applied domain.com
78
- * service:available domain.com
79
- * service:add domain.com short_name
80
- * service:remove domain.com short_name
81
-
82
- The following commands are available for purchasing certificates:
83
-
84
- * dnsimple certificate:purchase domain.com name
85
- * dnsimple certificate:submit domain.com id approver_email
86
-
87
- h3. Contact Attributes
88
-
89
- The contact attributes that can be used in the name:value pairs are:
90
-
91
- * first_name
92
- * last_name
93
- * organization_name (optional)
94
- * job_title (required if organization name is specified)
95
- * address1
96
- * address2 (optional)
97
- * city
98
- * state_province (also aliased as state)
99
- * postal_code
100
- * country
101
- * email
102
- * phone
103
- * phone_ext (optional)
104
- * fax (optional)
105
-
106
- h2. Wrapper Classes
107
-
108
- In addition to the command line utility you may also use the included Ruby
109
- classes directly in your Ruby applications.
110
-
111
- Sample:
112
-
113
- <pre><code>
114
- require 'rubygems'
115
- require 'dnsimple'
116
-
117
- DNSimple::Client.username = 'YOUR_USERNAME'
118
- DNSimple::Client.password = 'YOUR_PASSWORD'
119
-
120
- user = User.me
121
- puts "#{user.domain_count} domains"
122
-
123
- puts "Domains..."
124
- Domain.all.each do |domain|
125
- puts " #{domain.name}"
126
- end
127
-
128
- domain = Domain.find("example.com")
129
- domain.apply("template") # applies a standard or custom template to the domain
130
-
131
- domain = Domain.create("newdomain.com")
132
- puts "Added #{domain.name}"
133
- domain.delete # removes from DNSimple
134
- </pre></code>
135
-
136
- The complete RDoc for the wrapper classes can be found here:
137
-
138
- "http://rubydoc.info/gems/dnsimple-ruby/1.2.6/":http://rubydoc.info/gems/dnsimple-ruby/1.2.6/
@@ -1,10 +0,0 @@
1
- module DNSimple
2
- class Command
3
- def initialize(out=$stdout)
4
- @out = out
5
- end
6
- def say(message)
7
- @out.write("#{message}\n")
8
- end
9
- end
10
- end
data/spec/command_spec.rb DELETED
@@ -1,19 +0,0 @@
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