shanesveller-webbynode-api 0.2.2 → 0.2.4

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 CHANGED
@@ -20,6 +20,17 @@ is currently based on the API guide version 2.
20
20
  * DNS record editing
21
21
  * Whatever else WebbyNode gives us in the API :)
22
22
 
23
+ ##Dependencies
24
+ ###Runtime
25
+ * httparty
26
+ * crack
27
+
28
+ ###Testing
29
+ * thoughtbot-shoulda
30
+ * jeremymcanally-matchy
31
+ * fakeweb
32
+ * jgre-monkeyspecdoc
33
+
23
34
  ##Usage and Examples
24
35
  ###Command-Line Utility
25
36
  This gem now includes a basic commandline utility named `webby`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.4
data/bin/webby CHANGED
@@ -14,7 +14,7 @@ module WebbyNodeTool extend OptiFlagSet
14
14
  optional_flag "token"
15
15
  flag "act" do
16
16
  alternate_forms "action","A","a"
17
- description "API action to be taken, in the form of <type> <action> <target>"
17
+ description "API action to be taken, in the form of <type> <action> <argument>"
18
18
  arity 3
19
19
  end
20
20
  optional_flag "verbose" do
@@ -48,6 +48,13 @@ target = ARGV.flags.act[2]
48
48
  case type
49
49
  when "webby" then
50
50
  case action
51
+ when "list"
52
+ webbies = WebbyNode::WebbyList.new(:email => EMAIL, :token => TOKEN).data
53
+ for webby in webbies
54
+ puts "Webby - hostname: #{webby['name']} - ip: #{webby['ip']} - status: #{webby['status']}"
55
+ puts " node: #{webby['node']} - plan: #{webby['plan']}"
56
+ puts " notes: #{webby['notes']}" if webby['notes']
57
+ end
51
58
  when "status"
52
59
  puts "Webby Status: #{target}: " + WebbyNode::Webby.new(:email => EMAIL, :token => TOKEN, :hostname => target).status
53
60
  when "restart", "start"
@@ -57,7 +64,8 @@ when "webby" then
57
64
  puts "Shutting Down Webby: #{target}..."
58
65
  puts "Job ID: " + WebbyNode::Webby.new(:email => EMAIL, :token => TOKEN, :hostname => target).send(action).to_s
59
66
  else
60
- puts "Not a valid action for webby #{target}."
67
+ puts "Not a valid action for a webby: #{action}."
68
+ puts "Valid options include: " + %w(list status start restart shutdown).join(", ")
61
69
  end
62
70
  else
63
71
  puts "Valid options for type:"
@@ -26,6 +26,36 @@ class WebbyNode
26
26
  @data = auth_get("/api/xml/dns/#{@id}")["hash"]["zone"]
27
27
  end
28
28
 
29
+ # Edits attributes of an existing DNS zone
30
+ #
31
+ # @option new_values [optional, String] :domain Domain name for the DNS zone
32
+ # @option new_values [optional, Integer] :ttl Time To Live for the DNS zone
33
+ # @option new_values [optional, String] :status Whether or not to serve the zone.
34
+ # Valid values are Active or Inactive.
35
+ # @raise [ArgumentError] Raises ArgumentError if an invalid value is passed for
36
+ # :status.
37
+ # @return [Hash] returns a Hash with String keys of the newly-edited zone's data
38
+ # @example Change a zone's TTL
39
+ # @zone = WebbyNode::DNS::Zone.new(:email => @email, :token => @token, :id => @id)
40
+ # @zone.ttl # => 86400
41
+ # @zone.edit(:ttl => 14400)
42
+ # @zone.ttl # => 14400
43
+ # @example Change a zone's domain name, TTL and activate it
44
+ # @zone = WebbyNode::DNS::Zone.new(:email => @email, :token => @token, :id => @id)
45
+ # @zone.edit(:domain => "newurl.com.", :status => "Active", :ttl => 86600)
46
+ def edit(new_values = {})
47
+ if new_values[:status]
48
+ raise ArgumentError, ":status must be Active or Inactive" unless %w(Active Inactive).include?(new_values[:status])
49
+ end
50
+ new_values.reject! {|key, value| %w(domain ttl status).include?(key) == false }
51
+ for key in new_values.keys
52
+ new_values["zone[#{key.to_s}]"] = new_values[key]
53
+ new_values.delete(key)
54
+ end
55
+ new_values.merge!(:email => @email, :token => @token)
56
+ @data = self.class.auth_post("/api/xml/dns/#{@id}", :query => new_values)["hash"]
57
+ end
58
+
29
59
  # Activates a DNS zone in WebbyNode's DNS servers
30
60
  #
31
61
  # @since 0.1.2
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class WebbyNodeAPIObjectTest < Test::Unit::TestCase
4
- context "with bad API token or email" do
4
+ context "when fetching an API object" do
5
5
  setup do
6
6
  @email ="example@email.com"
7
7
  @token = "123456"
data/test/bin_test.rb ADDED
@@ -0,0 +1,13 @@
1
+ require 'test_helper'
2
+
3
+ class WebbyNodeAPIObjectTest < Test::Unit::TestCase
4
+ context "using the commandline tool" do
5
+ context "when listing webbies" do
6
+ setup do
7
+ @input = "-a webby list"
8
+ bin_path = File.join(File.dirname(__FILE__), '..', 'bin', 'webby')
9
+ @output = `#{bin_path} #{@input}`
10
+ end
11
+ end
12
+ end
13
+ end
data/test/client_test.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class WebbyNodeClientTest < Test::Unit::TestCase
4
- context "fetching client data from API" do
4
+ context "when fetching client data from API" do
5
5
  setup do
6
6
  email = "example@email.com"
7
7
  token = "123456"
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <hash>
3
+ <status>Inactive</status>
4
+ <ttl type="integer">14400</ttl>
5
+ <domain>new-example.com.</domain>
6
+ <id type="integer">1</id>
7
+ </hash>
File without changes
File without changes
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <hash>
3
+ <record>
4
+ <type>A</type>
5
+ <ttl type="integer">86400</ttl>
6
+ <aux type="integer">0</aux>
7
+ <data>72.32.231.8</data>
8
+ <name>tumblr</name>
9
+ <id type="integer">103</id>
10
+ </record>
11
+ </hash>
data/test/dns_test.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class WebbyNodeDNSTest < Test::Unit::TestCase
4
- context "fetching all DNS data from API" do
4
+ context "when fetching all DNS data from API" do
5
5
  setup do
6
6
  email = "example@email.com"
7
7
  token = "123456"
8
- data_path = File.join(File.dirname(__FILE__), "data")
8
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
9
9
  FakeWeb.clean_registry
10
10
  FakeWeb.register_uri(:get, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\?.+/i, :body => File.read("#{data_path}/dns.xml"))
11
11
  @zones = WebbyNode::DNS::ZoneList.new(:email => email, :token => token)
@@ -25,16 +25,19 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
25
25
  zone["ttl"].should == 86400
26
26
  end
27
27
  end
28
- context "fetching DNS data from API with id" do
28
+ context "when fetching DNS data from API with id" do
29
29
  setup do
30
30
  email = "example@email.com"
31
31
  token = "123456"
32
32
  id = 1
33
- data_path = File.join(File.dirname(__FILE__), "data")
33
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
34
34
  FakeWeb.clean_registry
35
35
  FakeWeb.register_uri(:get, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/dns-1.xml"))
36
36
  @dns = WebbyNode::DNS::Zone.new(:email => email, :token => token, :id => id)
37
37
  end
38
+ should "raise ArgumentError if :id is absent" do
39
+ assert_raise(ArgumentError, ":id is a required argument"){ WebbyNode::DNS::Zone.new(:email => @email, :token => @token) }
40
+ end
38
41
  should "return domain name, status, id and TTL" do
39
42
  @dns.domain.should == "example.com."
40
43
  @dns.id.should == 1
@@ -42,13 +45,13 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
42
45
  @dns.status.should == "Active"
43
46
  end
44
47
  end
45
- context "creating a new DNS zone" do
48
+ context "when creating a new DNS zone" do
46
49
  setup do
47
50
  @email = "example@email.com"
48
51
  @token = "123456"
49
52
  @domain = "example.com."
50
53
  @ttl = 86400
51
- data_path = File.join(File.dirname(__FILE__), "data")
54
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
52
55
  FakeWeb.clean_registry
53
56
  FakeWeb.register_uri(:post, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/new\?.+/i, :body => File.read("#{data_path}/new-zone.xml"))
54
57
  end
@@ -62,7 +65,7 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
62
65
  assert_raise(ArgumentError, ":domain and :ttl are required arguments"){ WebbyNode::DNS::Zone.create_zone(:email => @email, :token => @token, :domain => @domain) }
63
66
  end
64
67
  should "raise ArgumentError if :status is not a valid option" do
65
- assert_raise(ArgumentError, ":domain and :ttl are required arguments"){ WebbyNode::DNS::Zone.create_zone(:email => @email, :token => @token, :ttl => @ttl, :status => "Not active") }
68
+ assert_raise(ArgumentError, ":status can only be Active or Inactive"){ WebbyNode::DNS::Zone.create_zone(:email => @email, :token => @token, :ttl => @ttl, :status => "Not active") }
66
69
  assert_nothing_raised(ArgumentError){ WebbyNode::DNS::Zone.create_zone(:email => @email, :token => @token, :domain => @domain, :ttl => @ttl, :status => "Active") }
67
70
  assert_nothing_raised(ArgumentError){ WebbyNode::DNS::Zone.create_zone(:email => @email, :token => @token, :domain => @domain, :ttl => @ttl, :status => "Inactive") }
68
71
  assert_nothing_raised(ArgumentError){ WebbyNode::DNS::Zone.create_zone(:email => @email, :token => @token, :domain => @domain, :ttl => @ttl, :status => nil) }
@@ -74,12 +77,47 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
74
77
  @new_zone["ttl"].should == 86400
75
78
  end
76
79
  end
77
- context "deleting a DNS zone" do
80
+ context "when editing a DNS zone" do
81
+ setup do
82
+ @email = "example@email.com"
83
+ @token = "123456"
84
+ @domain = "example.com."
85
+ @id = 1
86
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
87
+ FakeWeb.clean_registry
88
+ FakeWeb.register_uri(:get, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/dns-1.xml"))
89
+ FakeWeb.register_uri(:post, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/edit-zone.xml"))
90
+ end
91
+ should "raise ArgumentError if API information isn't present" do
92
+ assert_raise(ArgumentError,":email and :token are required arguments for API access"){ WebbyNode::DNS::Zone.new(:token => @token, :domain => @domain, :id => @id) }
93
+ assert_raise(ArgumentError,":email and :token are required arguments for API access"){ WebbyNode::DNS::Zone.new(:email => @email, :domain => @domain, :id => @id) }
94
+ assert_raise(ArgumentError,":email and :token are required arguments for API access"){ WebbyNode::DNS::Zone.new(:domain => @domain, :id => @id) }
95
+ end
96
+ should "raise ArgumentError if :status is not a valid option" do
97
+ assert_raise(ArgumentError, ":status can only be Active or Inactive"){ WebbyNode::DNS::Zone.create_zone(:email => @email, :token => @token, :ttl => @ttl, :status => "Not active") }
98
+ assert_nothing_raised(ArgumentError){ WebbyNode::DNS::Zone.new(:email => @email, :token => @token, :id => @id) }
99
+ assert_nothing_raised(ArgumentError){ WebbyNode::DNS::Zone.new(:email => @email, :token => @token, :id => @id) }
100
+ assert_nothing_raised(ArgumentError){ WebbyNode::DNS::Zone.new(:email => @email, :token => @token, :id => @id) }
101
+ end
102
+ should "alter information on API and update the object to reflect changes" do
103
+ @zone = WebbyNode::DNS::Zone.new(:email => @email, :token => @token, :id => @id)
104
+ @zone.id.should == @id
105
+ @zone.domain.should == "example.com."
106
+ @zone.ttl.should == 86400
107
+ @zone.status.should == "Active"
108
+ @zone.edit(:domain => "new-example.com.", :ttl => 14400, :status => "Inactive")
109
+ @zone.id.should == @id
110
+ @zone.domain.should == "new-example.com."
111
+ @zone.ttl.should == 14400
112
+ @zone.status.should == "Inactive"
113
+ end
114
+ end
115
+ context "when deleting a DNS zone" do
78
116
  setup do
79
117
  @email = "example@email.com"
80
118
  @token = "123456"
81
119
  @id = 171
82
- data_path = File.join(File.dirname(__FILE__), "data")
120
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
83
121
  FakeWeb.clean_registry
84
122
  FakeWeb.register_uri(:post, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\/delete\?.+/i, :body => File.read("#{data_path}/delete-zone.xml"))
85
123
  end
@@ -87,14 +125,14 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
87
125
  WebbyNode::DNS::Zone.delete_zone(:email => @email, :token => @token, :id => @id)
88
126
  end
89
127
  end
90
- context "activating and deactivating a zone" do
128
+ context "when activating or deactivating a DNS zone" do
91
129
  setup do
92
130
  @email = "example@email.com"
93
131
  @token = "123456"
94
132
  @id = 171
95
133
  end
96
134
  should "raise RuntimeError if the action is unsuccesful" do
97
- data_path = File.join(File.dirname(__FILE__), "data")
135
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
98
136
  FakeWeb.clean_registry
99
137
  FakeWeb.register_uri(:get, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/dns-1.xml"))
100
138
  FakeWeb.register_uri(:post, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/deactivate-zone.xml"))
@@ -105,7 +143,7 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
105
143
  assert_raise(RuntimeError, "Unable to deactivate zone"){ WebbyNode::DNS::Zone.new(:email => @email, :token => @token, :id => @id).deactivate }
106
144
  end
107
145
  should "return the new status when activating or deactivating" do
108
- data_path = File.join(File.dirname(__FILE__), "data")
146
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
109
147
  FakeWeb.clean_registry
110
148
  FakeWeb.register_uri(:get, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/dns-1.xml"))
111
149
  FakeWeb.register_uri(:post, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\?.+/i, :body => File.read("#{data_path}/activate-zone.xml"))
@@ -116,12 +154,12 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
116
154
  WebbyNode::DNS::Zone.new(:email => @email, :token => @token, :id => @id).deactivate.should == "Inactive"
117
155
  end
118
156
  end
119
- context "listing a DNS zone's records" do
157
+ context "when listing a DNS zone's records" do
120
158
  setup do
121
159
  @email = "example@email.com"
122
160
  @token = "123456"
123
161
  @id = 1
124
- data_path = File.join(File.dirname(__FILE__), "data")
162
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
125
163
  FakeWeb.clean_registry
126
164
  FakeWeb.register_uri(:get, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\/records\?.+/i, :body => File.read("#{data_path}/dns-records.xml"))
127
165
  end
@@ -141,12 +179,12 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
141
179
  record["type"].should == "A"
142
180
  end
143
181
  end
144
- context "creating a DNS record" do
182
+ context "when creating a DNS record" do
145
183
  setup do
146
184
  @email = "example@email.com"
147
185
  @token = "123456"
148
186
  @id = 1
149
- data_path = File.join(File.dirname(__FILE__), "data")
187
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
150
188
  FakeWeb.clean_registry
151
189
  FakeWeb.register_uri(:post, /^https:\/\/manager\.webbynode\.com\/api\/xml\/dns\/\d+\/records\/new\?.+/i, :body => File.read("#{data_path}/new-record.xml"))
152
190
  end
@@ -178,14 +216,33 @@ class WebbyNodeDNSTest < Test::Unit::TestCase
178
216
  @new_record
179
217
  end
180
218
  end
181
- context "fetching a DNS record" do
219
+ context "when fetching a DNS record" do
220
+ setup do
221
+ @email = "example@email.com"
222
+ @token = "123456"
223
+ @id = 103
224
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
225
+ FakeWeb.clean_registry
226
+ FakeWeb.register_uri(:get, /^https:\/\/manager\.webbynode\.com\/api\/xml\/records\/\d+\?.+/i, :body => File.read("#{data_path}/record-1.xml"))
227
+ end
228
+ should "raise ArgumentError if :id argument is absent" do
229
+ assert_raise(ArgumentError, ":id is a required argument"){ WebbyNode::DNS::Record.new(:email => @email, :token => @token, :id => nil)}
230
+ assert_nothing_raised { WebbyNode::DNS::Record.new(:email => @email, :token => @token, :id => @id)}
231
+ end
232
+ should "set @data to a Hash of record information" do
233
+ @record = WebbyNode::DNS::Record.new(:email => @email, :token => @token, :id => @id)
234
+ @record.data.is_a?(Hash).should be(true)
235
+ for key in %w(type ttl aux data name id)
236
+ @record.data.keys.include?(key).should be(true)
237
+ end
238
+ end
182
239
  end
183
- context "deleting a DNS record" do
240
+ context "when deleting a DNS record" do
184
241
  setup do
185
242
  @email = "example@email.com"
186
243
  @token = "123456"
187
244
  @id = 171
188
- data_path = File.join(File.dirname(__FILE__), "data")
245
+ data_path = File.join(File.dirname(__FILE__), "data", "dns")
189
246
  FakeWeb.clean_registry
190
247
  FakeWeb.register_uri(:post, /^https:\/\/manager\.webbynode\.com\/api\/xml\/records\/\d+\/delete\?.+/i, :body => File.read("#{data_path}/delete-record.xml"))
191
248
  end
data/test/test_helper.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'test/unit'
3
- require 'shoulda'
4
- %w(matchy fakeweb pp).each {|x| require x }
3
+ %w(shoulda matchy fakeweb monkeyspecdoc pp).each {|x| require x }
5
4
 
6
5
  FakeWeb.allow_net_connect = false
7
6
 
data/test/webby_test.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class WebbyNodeWebbyTest < Test::Unit::TestCase
4
- context "fetching webby data from API" do
4
+ context "when fetching webby data from API" do
5
5
  setup do
6
6
  email = "example@email.com"
7
7
  token = "123456"
@@ -33,7 +33,7 @@ class WebbyNodeWebbyTest < Test::Unit::TestCase
33
33
  assert_raise(ArgumentError, "No such action possible on a Webby."){ @webby.restart }
34
34
  end
35
35
  end
36
- context "fetching webbies data from API" do
36
+ context "when fetching webbies data from API" do
37
37
  setup do
38
38
  email = "example@email.com"
39
39
  token = "123456"
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{webbynode-api}
5
- s.version = "0.2.2"
5
+ s.version = "0.2.4"
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"]
9
- s.date = %q{2009-07-14}
9
+ s.date = %q{2009-07-17}
10
10
  s.default_executable = %q{webby}
11
11
  s.email = %q{shanesveller@gmail.com}
12
12
  s.executables = ["webby"]
@@ -26,18 +26,21 @@ Gem::Specification.new do |s|
26
26
  "lib/webbynode-api/data.rb",
27
27
  "lib/webbynode-api/dns.rb",
28
28
  "test/apiobject_test.rb",
29
+ "test/bin_test.rb",
29
30
  "test/client_test.rb",
30
- "test/data/activate-zone.xml",
31
31
  "test/data/bad-auth.xml",
32
32
  "test/data/client.xml",
33
- "test/data/deactivate-zone.xml",
34
- "test/data/delete-record.xml",
35
- "test/data/delete-zone.xml",
36
- "test/data/dns-1.xml",
37
- "test/data/dns-records.xml",
38
- "test/data/dns.xml",
39
- "test/data/new-record.xml",
40
- "test/data/new-zone.xml",
33
+ "test/data/dns/activate-zone.xml",
34
+ "test/data/dns/deactivate-zone.xml",
35
+ "test/data/dns/delete-record.xml",
36
+ "test/data/dns/delete-zone.xml",
37
+ "test/data/dns/dns-1.xml",
38
+ "test/data/dns/dns-records.xml",
39
+ "test/data/dns/dns.xml",
40
+ "test/data/dns/edit-zone.xml",
41
+ "test/data/dns/new-record.xml",
42
+ "test/data/dns/new-zone.xml",
43
+ "test/data/dns/record-1.xml",
41
44
  "test/data/webbies.xml",
42
45
  "test/data/webby-reboot.xml",
43
46
  "test/data/webby-shutdown.xml",
@@ -51,22 +54,24 @@ Gem::Specification.new do |s|
51
54
  "test/webby_test.rb",
52
55
  "webbynode-api.gemspec"
53
56
  ]
57
+ s.has_rdoc = true
54
58
  s.homepage = %q{http://github.com/shanesveller/webbynode-api}
55
59
  s.rdoc_options = ["--charset=UTF-8"]
56
60
  s.require_paths = ["lib"]
57
- s.rubygems_version = %q{1.3.4}
61
+ s.rubygems_version = %q{1.3.1}
58
62
  s.summary = %q{wraps the WebbyNode API into nice Ruby objects}
59
63
  s.test_files = [
60
- "test/test_helper.rb",
61
- "test/webby_test.rb",
62
- "test/dns_test.rb",
64
+ "test/apiobject_test.rb",
65
+ "test/bin_test.rb",
63
66
  "test/client_test.rb",
64
- "test/apiobject_test.rb"
67
+ "test/dns_test.rb",
68
+ "test/test_helper.rb",
69
+ "test/webby_test.rb"
65
70
  ]
66
71
 
67
72
  if s.respond_to? :specification_version then
68
73
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
69
- s.specification_version = 3
74
+ s.specification_version = 2
70
75
 
71
76
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
72
77
  s.add_runtime_dependency(%q<httparty>, [">= 0.4.3"])
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.2
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Sveller
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-14 00:00:00 -07:00
12
+ date: 2009-07-17 00:00:00 -07:00
13
13
  default_executable: webby
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -53,18 +53,21 @@ files:
53
53
  - lib/webbynode-api/data.rb
54
54
  - lib/webbynode-api/dns.rb
55
55
  - test/apiobject_test.rb
56
+ - test/bin_test.rb
56
57
  - test/client_test.rb
57
- - test/data/activate-zone.xml
58
58
  - test/data/bad-auth.xml
59
59
  - test/data/client.xml
60
- - test/data/deactivate-zone.xml
61
- - test/data/delete-record.xml
62
- - test/data/delete-zone.xml
63
- - test/data/dns-1.xml
64
- - test/data/dns-records.xml
65
- - test/data/dns.xml
66
- - test/data/new-record.xml
67
- - test/data/new-zone.xml
60
+ - test/data/dns/activate-zone.xml
61
+ - test/data/dns/deactivate-zone.xml
62
+ - test/data/dns/delete-record.xml
63
+ - test/data/dns/delete-zone.xml
64
+ - test/data/dns/dns-1.xml
65
+ - test/data/dns/dns-records.xml
66
+ - test/data/dns/dns.xml
67
+ - test/data/dns/edit-zone.xml
68
+ - test/data/dns/new-record.xml
69
+ - test/data/dns/new-zone.xml
70
+ - test/data/dns/record-1.xml
68
71
  - test/data/webbies.xml
69
72
  - test/data/webby-reboot.xml
70
73
  - test/data/webby-shutdown.xml
@@ -77,7 +80,7 @@ files:
77
80
  - test/test_helper.rb
78
81
  - test/webby_test.rb
79
82
  - webbynode-api.gemspec
80
- has_rdoc: false
83
+ has_rdoc: true
81
84
  homepage: http://github.com/shanesveller/webbynode-api
82
85
  post_install_message:
83
86
  rdoc_options:
@@ -101,11 +104,12 @@ requirements: []
101
104
  rubyforge_project:
102
105
  rubygems_version: 1.2.0
103
106
  signing_key:
104
- specification_version: 3
107
+ specification_version: 2
105
108
  summary: wraps the WebbyNode API into nice Ruby objects
106
109
  test_files:
110
+ - test/apiobject_test.rb
111
+ - test/bin_test.rb
112
+ - test/client_test.rb
113
+ - test/dns_test.rb
107
114
  - test/test_helper.rb
108
115
  - test/webby_test.rb
109
- - test/dns_test.rb
110
- - test/client_test.rb
111
- - test/apiobject_test.rb