shanesveller-webbynode-api 0.2.2 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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