shanesveller-webbynode-api 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +2 -1
- data/VERSION +1 -1
- data/lib/webbynode-api/dns.rb +21 -0
- data/test/data/delete-record.xml +4 -0
- data/test/dns_test.rb +13 -0
- data/webbynode-api.gemspec +2 -1
- metadata +2 -1
data/README.markdown
CHANGED
@@ -14,9 +14,10 @@ is currently based on the API guide version 2.
|
|
14
14
|
* List of all individual records in a given DNS zone
|
15
15
|
* Creation/deletion of DNS zones
|
16
16
|
* Activation/deactivation of DNS zones
|
17
|
+
* DNS record creation and deletion
|
17
18
|
|
18
19
|
##Planned Features
|
19
|
-
* DNS record
|
20
|
+
* DNS record editing
|
20
21
|
* Whatever else WebbyNode gives us in the API :)
|
21
22
|
|
22
23
|
##Usage and Examples
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/lib/webbynode-api/dns.rb
CHANGED
@@ -185,6 +185,27 @@ class WebbyNode
|
|
185
185
|
end
|
186
186
|
return auth_post("/api/xml/dns/#{@id}/records/new", :query => options)["hash"]["record"]
|
187
187
|
end
|
188
|
+
|
189
|
+
# Deletes an existing DNS record by ID
|
190
|
+
#
|
191
|
+
# @since 0.2.1
|
192
|
+
# @option options [String] :email E-mail address used for API access
|
193
|
+
# @option options [String] :token API token used for API access
|
194
|
+
# @option options [Integer] :id WebbyNode's internally-used ID that idenftifies the record
|
195
|
+
# @return [Boolean] Returns true upon succesful deletion of the zone.
|
196
|
+
# @raise [ArgumentError] Raises ArgumentError if :token, :email, or :id are
|
197
|
+
# missing from the options parameter.
|
198
|
+
# @example Delete a DNS record with ID of 100
|
199
|
+
# WebbyNode::DNS::Record.delete({
|
200
|
+
# :email => email, :token => token,
|
201
|
+
# :id => 100
|
202
|
+
# })
|
203
|
+
# # => true
|
204
|
+
def self.delete(options = {})
|
205
|
+
raise ArgumentError, ":email and :token are required arguments for API access" unless options[:email] && options[:token]
|
206
|
+
raise ArgumentError, ":id is a required argument" unless options[:id]
|
207
|
+
return auth_post("/api/xml/records/#{options[:id]}/delete", :query => options)["hash"]["success"]
|
208
|
+
end
|
188
209
|
end
|
189
210
|
end
|
190
211
|
end
|
data/test/dns_test.rb
CHANGED
@@ -180,4 +180,17 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
|
|
180
180
|
end
|
181
181
|
context "fetching a DNS record" do
|
182
182
|
end
|
183
|
+
context "deleting a DNS record" do
|
184
|
+
setup do
|
185
|
+
@email = "example@email.com"
|
186
|
+
@token = "123456"
|
187
|
+
@id = 171
|
188
|
+
data_path = File.join(File.dirname(__FILE__), "data")
|
189
|
+
FakeWeb.clean_registry
|
190
|
+
FakeWeb.register_uri(:post, /^https:\/\/manager\.webbynode\.com\/api\/xml\/records\/\d+\/delete\?.+/i, :body => File.read("#{data_path}/delete-record.xml"))
|
191
|
+
end
|
192
|
+
should "return a boolean true for succesful deletion" do
|
193
|
+
WebbyNode::DNS::Record.delete(:email => @email, :token => @token, :id => @id)
|
194
|
+
end
|
195
|
+
end
|
183
196
|
end
|
data/webbynode-api.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{webbynode-api}
|
5
|
-
s.version = "0.2.
|
5
|
+
s.version = "0.2.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Shane Sveller"]
|
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
"test/data/bad-auth.xml",
|
32
32
|
"test/data/client.xml",
|
33
33
|
"test/data/deactivate-zone.xml",
|
34
|
+
"test/data/delete-record.xml",
|
34
35
|
"test/data/delete-zone.xml",
|
35
36
|
"test/data/dns-1.xml",
|
36
37
|
"test/data/dns-records.xml",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shanesveller-webbynode-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shane Sveller
|
@@ -58,6 +58,7 @@ files:
|
|
58
58
|
- test/data/bad-auth.xml
|
59
59
|
- test/data/client.xml
|
60
60
|
- test/data/deactivate-zone.xml
|
61
|
+
- test/data/delete-record.xml
|
61
62
|
- test/data/delete-zone.xml
|
62
63
|
- test/data/dns-1.xml
|
63
64
|
- test/data/dns-records.xml
|