linode 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- data/{spec/spec.opts → .rspec} +0 -2
- data/CHANGELOG +79 -1
- data/README +3 -0
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/autotest/discover.rb +1 -0
- data/lib/linode.rb +29 -7
- data/lib/linode/user.rb +3 -1
- data/linode.gemspec +48 -49
- data/spec/linode/user_spec.rb +13 -26
- data/spec/linode_spec.rb +86 -15
- data/spec/spec_helper.rb +3 -3
- metadata +8 -8
- data/.gitignore +0 -2
data/{spec/spec.opts → .rspec}
RENAMED
data/CHANGELOG
CHANGED
@@ -1,2 +1,80 @@
|
|
1
1
|
|
2
|
-
|
2
|
+
0.6.3 / 2010-11-23
|
3
|
+
==================
|
4
|
+
* Can now initialize w/ username/pass; also support for user.getapikey API call
|
5
|
+
|
6
|
+
2010-11-21 Rick Bradley <rick@rickbradley.com>
|
7
|
+
* Adding rspec2 support for autotest
|
8
|
+
* Continuing conversion of spec_helper for rspec2
|
9
|
+
* moving spec/spec.opts to /.rspec
|
10
|
+
|
11
|
+
2010-11-21 Aaron Hamid <aaron.hamid@gmail.com>
|
12
|
+
* did the minimal amount necessary to get tests to run on latest RSpec release; https://github.com/rick/linode/issues#issue/3
|
13
|
+
|
14
|
+
2010-08-03 Rick Bradley <rick@rickbradley.com>
|
15
|
+
* updating gemspec for 0.6.2
|
16
|
+
* Version bump to 0.6.2
|
17
|
+
* remove Jeweler warning as noone else needs to ever see it, basically
|
18
|
+
* make 'rake test' an alias for 'rake spec'
|
19
|
+
|
20
|
+
2010-03-31 Rick Bradley <rick@rickbradley.com>
|
21
|
+
* updated gemspec
|
22
|
+
* Version bump to 0.6.1
|
23
|
+
* Missed a couple new Linode API stackscript bits.
|
24
|
+
|
25
|
+
2010-03-27 Rick Bradley <rick@rickbradley.com>
|
26
|
+
* Merge branch 'newgem'
|
27
|
+
* updating gemspec
|
28
|
+
* Regenerated gemspec for version 0.6.0
|
29
|
+
* Version bump to 0.6.0
|
30
|
+
* adding support for stackscript API
|
31
|
+
|
32
|
+
2009-12-21 Rick Bradley <rick@rickbradley.com>
|
33
|
+
* updating README (thx dvyjones!)
|
34
|
+
|
35
|
+
2009-12-20 Rick Bradley <rick@rickbradley.com>
|
36
|
+
* updated gemspec
|
37
|
+
* Version bump to 0.5.4
|
38
|
+
* enabling GemCutter support for our gem
|
39
|
+
|
40
|
+
2009-08-05 Rick Bradley <rick@rickbradley.com>
|
41
|
+
* new gemspec
|
42
|
+
* Version bump to 0.5.3
|
43
|
+
* make error messages much more helpful, including link to relevant API page.
|
44
|
+
* fixing mis-named spec example descriptions for nested namespaces
|
45
|
+
* updating gemspec
|
46
|
+
* Version bump to 0.5.2
|
47
|
+
* tiny tweak to use has_namespace instead of an old literal method declaration
|
48
|
+
* updating gemspec
|
49
|
+
* Version bump to 0.5.1
|
50
|
+
* making sure rake actually runs specs; adding httparty gem dependency
|
51
|
+
* Version bump to 0.5.0
|
52
|
+
* adding Jeweler recipe, gemspec, etc.
|
53
|
+
* README now has examples.
|
54
|
+
* Linode.Ip API
|
55
|
+
* Linode.Job API
|
56
|
+
* Linode.Disk API
|
57
|
+
* Linode.Config API
|
58
|
+
* the Linode
|
59
|
+
* more metaprogramming, now that we know how a namespace behaves
|
60
|
+
* Domain.Resource nested API
|
61
|
+
* cleaning up missed example description change
|
62
|
+
* metprogramming avail, user, test APIs
|
63
|
+
* adding domain spec; using domain spec to introduce has_method metaprogramming
|
64
|
+
* adding User API
|
65
|
+
* making the data -> object(s) conversion more robust
|
66
|
+
* Avail API specs and methods
|
67
|
+
* metaprogramming the Test API specs, for later use in other specs
|
68
|
+
* first working version of a simple request (test.echo)
|
69
|
+
* adding httparty dependency to README
|
70
|
+
|
71
|
+
2009-08-04 Rick Bradley <rick@rickbradley.com>
|
72
|
+
* set real API URL, allow overriding
|
73
|
+
* Adding basic request method to base class.
|
74
|
+
* trivial testing dependencies in README
|
75
|
+
* add Avail API hook, reorganize how subclass specs are stored
|
76
|
+
* nest namespace classes, automate discovery
|
77
|
+
* making a way to access our simplest API (Linode.test)
|
78
|
+
* Linode.new.
|
79
|
+
* initial commit.
|
80
|
+
|
data/README
CHANGED
@@ -138,3 +138,6 @@ Here is an annoyingly exhaustive IRB session where I play around with the API:
|
|
138
138
|
irb> l.linode.ip.list(:LinodeId => 12446)
|
139
139
|
=> [#<OpenStruct rdns_name="byggvir.websages.com", ipaddressid=12286, linodeid=12446, ispublic=1, ipaddress="209.123.234.161">, #<OpenStruct rdns_name="li101-51.members.linode.com", ipaddressid=23981, linodeid=12446, ispublic=1, ipaddress="97.107.140.51">]
|
140
140
|
irb> ^D@ Wed Aug 05 01:50:52 rick@Yer-Moms-Computer
|
141
|
+
|
142
|
+
CREDITS:
|
143
|
+
- Thanks to Aaron Hamid for updates for RSpec 2 and work on user.getapikey + username/password initialization.
|
data/Rakefile
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/testtask'
|
3
3
|
require 'rake/rdoctask'
|
4
|
-
require '
|
4
|
+
require 'rspec/core/rake_task'
|
5
5
|
|
6
6
|
desc 'Default: run specs.'
|
7
7
|
task :default => :spec
|
8
8
|
|
9
9
|
desc 'Test the linode library.'
|
10
|
-
|
11
|
-
t.
|
10
|
+
RSpec::Core::RakeTask.new('spec') do |t|
|
11
|
+
t.pattern = 'spec/**/*_spec.rb'
|
12
12
|
end
|
13
13
|
|
14
14
|
desc 'Test the linode library.'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.3
|
@@ -0,0 +1 @@
|
|
1
|
+
Autotest.add_discovery { "rspec2" }
|
data/lib/linode.rb
CHANGED
@@ -3,7 +3,7 @@ require 'ostruct'
|
|
3
3
|
require 'httparty'
|
4
4
|
|
5
5
|
class Linode
|
6
|
-
attr_reader :
|
6
|
+
attr_reader :username, :password
|
7
7
|
|
8
8
|
def self.has_method(*actions)
|
9
9
|
actions.each do |action|
|
@@ -30,31 +30,53 @@ class Linode
|
|
30
30
|
has_namespace :test, :avail, :user, :domain, :linode
|
31
31
|
|
32
32
|
def initialize(args)
|
33
|
-
raise ArgumentError, ":api_key is required" unless args[:api_key]
|
34
|
-
@api_key = args[:api_key]
|
35
33
|
@api_url = args[:api_url] if args[:api_url]
|
34
|
+
|
35
|
+
if args.include?(:api_key)
|
36
|
+
@api_key = args[:api_key]
|
37
|
+
elsif args.include?(:username) and args.include?(:password)
|
38
|
+
@username = args[:username]
|
39
|
+
@password = args[:password]
|
40
|
+
else
|
41
|
+
raise ArgumentError, "Either :api_key, or both :username and :password, are required."
|
42
|
+
end
|
36
43
|
end
|
37
44
|
|
38
45
|
def api_url
|
39
46
|
@api_url || 'https://api.linode.com/'
|
40
47
|
end
|
41
48
|
|
49
|
+
def api_key
|
50
|
+
@api_key ||= fetch_api_key
|
51
|
+
end
|
52
|
+
|
42
53
|
def send_request(action, data)
|
43
54
|
data.delete_if {|k,v| [:api_key, :api_action, :api_responseFormat].include?(k) }
|
44
|
-
|
45
|
-
raise "Errors completing request [#{action}] @ [#{api_url}] with data [#{data.inspect}]:\n#{error_message(
|
46
|
-
reformat_response(
|
55
|
+
response = get({ :api_key => api_key, :api_action => action, :api_responseFormat => 'json' }.merge(data))
|
56
|
+
raise "Errors completing request [#{action}] @ [#{api_url}] with data [#{data.inspect}]:\n#{error_message(response, action)}" if error?(response)
|
57
|
+
reformat_response(response)
|
47
58
|
end
|
48
59
|
|
49
60
|
protected
|
50
61
|
|
62
|
+
def fetch_api_key
|
63
|
+
response = get(:api_action => 'user.getapikey', :api_responseFormat => 'json', :username => username, :password => password)
|
64
|
+
raise "Errors completing request [user.getapikey] @ [#{api_url}] for username [#{username}]:\n#{error_message(response, 'user.getapikey')}" if error?(response)
|
65
|
+
reformat_response(response).api_key
|
66
|
+
end
|
67
|
+
|
68
|
+
def get(data)
|
69
|
+
Crack::JSON.parse(HTTParty.get(api_url, :query => data))
|
70
|
+
end
|
71
|
+
|
51
72
|
def error?(response)
|
52
73
|
response and response["ERRORARRAY"] and ! response["ERRORARRAY"].empty?
|
53
74
|
end
|
54
75
|
|
55
76
|
def error_message(response, action)
|
56
77
|
response["ERRORARRAY"].collect { |err|
|
57
|
-
" - Error \##{err["ERRORCODE"]} - #{err["ERRORMESSAGE"]}.
|
78
|
+
" - Error \##{err["ERRORCODE"]} - #{err["ERRORMESSAGE"]}. "+
|
79
|
+
"(Please consult http://www.linode.com/api/autodoc.cfm?method=#{action})"
|
58
80
|
}.join("\n")
|
59
81
|
end
|
60
82
|
|
data/lib/linode/user.rb
CHANGED
data/linode.gemspec
CHANGED
@@ -1,74 +1,73 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{linode}
|
8
|
-
s.version = "0.6.
|
8
|
+
s.version = "0.6.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Rick Bradley"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-11-23}
|
13
13
|
s.description = %q{This is a wrapper around Linode's automation facilities.}
|
14
14
|
s.email = %q{rick@rickbradley.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"README"
|
17
17
|
]
|
18
18
|
s.files = [
|
19
|
-
".
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
19
|
+
".rspec",
|
20
|
+
"CHANGELOG",
|
21
|
+
"MIT-LICENSE",
|
22
|
+
"README",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION",
|
25
|
+
"autotest/discover.rb",
|
26
|
+
"lib/linode.rb",
|
27
|
+
"lib/linode/avail.rb",
|
28
|
+
"lib/linode/domain.rb",
|
29
|
+
"lib/linode/domain/resource.rb",
|
30
|
+
"lib/linode/linode.rb",
|
31
|
+
"lib/linode/linode/config.rb",
|
32
|
+
"lib/linode/linode/disk.rb",
|
33
|
+
"lib/linode/linode/ip.rb",
|
34
|
+
"lib/linode/linode/job.rb",
|
35
|
+
"lib/linode/stackscript.rb",
|
36
|
+
"lib/linode/test.rb",
|
37
|
+
"lib/linode/user.rb",
|
38
|
+
"linode.gemspec",
|
39
|
+
"spec/linode/avail_spec.rb",
|
40
|
+
"spec/linode/domain/resource_spec.rb",
|
41
|
+
"spec/linode/domain_spec.rb",
|
42
|
+
"spec/linode/linode/config_spec.rb",
|
43
|
+
"spec/linode/linode/disk_spec.rb",
|
44
|
+
"spec/linode/linode/ip_spec.rb",
|
45
|
+
"spec/linode/linode/job_spec.rb",
|
46
|
+
"spec/linode/linode_spec.rb",
|
47
|
+
"spec/linode/stackscript_spec.rb",
|
48
|
+
"spec/linode/test_spec.rb",
|
49
|
+
"spec/linode/user_spec.rb",
|
50
|
+
"spec/linode_spec.rb",
|
51
|
+
"spec/spec_helper.rb"
|
52
52
|
]
|
53
53
|
s.homepage = %q{http://github.com/rick/linode}
|
54
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
55
54
|
s.require_paths = ["lib"]
|
56
55
|
s.rubygems_version = %q{1.3.7}
|
57
56
|
s.summary = %q{a Ruby wrapper for the Linode API}
|
58
57
|
s.test_files = [
|
59
58
|
"spec/linode/avail_spec.rb",
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
59
|
+
"spec/linode/domain/resource_spec.rb",
|
60
|
+
"spec/linode/domain_spec.rb",
|
61
|
+
"spec/linode/linode/config_spec.rb",
|
62
|
+
"spec/linode/linode/disk_spec.rb",
|
63
|
+
"spec/linode/linode/ip_spec.rb",
|
64
|
+
"spec/linode/linode/job_spec.rb",
|
65
|
+
"spec/linode/linode_spec.rb",
|
66
|
+
"spec/linode/stackscript_spec.rb",
|
67
|
+
"spec/linode/test_spec.rb",
|
68
|
+
"spec/linode/user_spec.rb",
|
69
|
+
"spec/linode_spec.rb",
|
70
|
+
"spec/spec_helper.rb"
|
72
71
|
]
|
73
72
|
|
74
73
|
if s.respond_to? :specification_version then
|
data/spec/linode/user_spec.rb
CHANGED
@@ -11,35 +11,22 @@ describe Linode::User do
|
|
11
11
|
@linode.class.should < Linode
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
14
|
+
it 'should be able to return the API key for the connection' do
|
15
|
+
@linode.should respond_to(:getapikey)
|
16
|
+
end
|
18
17
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
it 'should not require arguments' do
|
25
|
-
lambda { @linode.send(action.to_sym) }.should_not raise_error(ArgumentError)
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should request the user.#{action} action" do
|
29
|
-
@linode.expects(:send_request).with {|api_action, data| api_action == "user.#{action}" }
|
30
|
-
@linode.send(action.to_sym)
|
31
|
-
end
|
18
|
+
describe 'when returning the API key for the connection' do
|
19
|
+
it 'should work without arguments' do
|
20
|
+
lambda { @linode.getapikey }.should_not raise_error(ArgumentError)
|
21
|
+
end
|
32
22
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
end
|
23
|
+
it 'should not allow arguments' do
|
24
|
+
lambda { @linode.getapikey(:foo) }.should raise_error(ArgumentError)
|
25
|
+
end
|
37
26
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
end
|
27
|
+
it 'should return the api_key via the Linode handle' do
|
28
|
+
@linode.stubs(:api_key).returns('foo')
|
29
|
+
@linode.getapikey.should == 'foo'
|
42
30
|
end
|
43
31
|
end
|
44
|
-
|
45
32
|
end
|
data/spec/linode_spec.rb
CHANGED
@@ -15,8 +15,16 @@ describe Linode do
|
|
15
15
|
it 'should require an arguments hash' do
|
16
16
|
lambda { Linode.new }.should raise_error(ArgumentError)
|
17
17
|
end
|
18
|
-
|
19
|
-
it 'should fail if
|
18
|
+
|
19
|
+
it 'should not fail if an API key is given' do
|
20
|
+
lambda { Linode.new({ :api_key => 'foo' }) }.should_not raise_error(ArgumentError)
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should not fail if a username/password combo is given' do
|
24
|
+
lambda { Linode.new({ :username => 'bar', :password => 'baz' }) }.should_not raise_error(ArgumentError)
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should fail if no API key nor username/password combo is given' do
|
20
28
|
lambda { Linode.new({}) }.should raise_error(ArgumentError)
|
21
29
|
end
|
22
30
|
|
@@ -31,26 +39,89 @@ describe 'Linode' do
|
|
31
39
|
before :each do
|
32
40
|
@api_key = 'foo'
|
33
41
|
@api_url = 'https://fake.linode.com/'
|
42
|
+
@username = 'bar'
|
43
|
+
@password = 'baz'
|
34
44
|
@linode = Linode.new(:api_key => @api_key, :api_url => @api_url)
|
35
45
|
end
|
36
46
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
47
|
+
describe 'when initialized with username and password' do
|
48
|
+
before :each do
|
49
|
+
@linode = Linode.new(:username => @username, :password => @password, :api_url => @api_url)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should be able to return the username provided at creation time' do
|
53
|
+
@linode.username.should == 'bar'
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should be able to return the password provided at creation time' do
|
57
|
+
@linode.password.should == 'baz'
|
58
|
+
end
|
59
|
+
|
60
|
+
describe 'when returning the current API URL' do
|
61
|
+
it 'should return the API URL provided at creation time if one was provided' do
|
62
|
+
@linode.api_url.should == 'https://fake.linode.com/'
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'should return the stock linode API URL if none was provided at creation time' do
|
66
|
+
@linode = Linode.new(:username => @username, :password => @api_url)
|
67
|
+
@linode.api_url.should == 'https://api.linode.com/'
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'should use the user.getapikey remote call to look up the API key associated with the username/password combo specified at creation time' do
|
72
|
+
@json = '{"ERRORARRAY":[],"DATA":{"USERNAME":"ogc","API_KEY":"blahblahblah"},"ACTION":"user.getapikey"}'
|
73
|
+
HTTParty.expects(:get).with(@api_url,
|
74
|
+
:query => {
|
75
|
+
:api_action => 'user.getapikey',
|
76
|
+
:api_responseFormat => 'json',
|
77
|
+
:username => @username,
|
78
|
+
:password => @password
|
79
|
+
}
|
80
|
+
).returns(@json)
|
81
|
+
@linode.api_key
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'should return the API key associated with the username/password combo specified at creation time' do
|
85
|
+
@linode.stubs(:fetch_api_key).returns(@api_key)
|
86
|
+
@linode.api_key.should == @api_key
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'should fail when looking up the API key if API key remote lookup fails' do
|
90
|
+
@linode.stubs(:fetch_api_key).raises
|
91
|
+
lambda { @linode.api_key }.should raise_error
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'should cache API key remote lookups for later use' do
|
95
|
+
@linode.stubs(:fetch_api_key).returns(@api_key)
|
96
|
+
@linode.api_key
|
97
|
+
@linode.stubs(:fetch_api_key).raises
|
98
|
+
@linode.api_key.should == @api_key
|
99
|
+
end
|
43
100
|
end
|
44
101
|
|
45
|
-
describe 'when
|
46
|
-
it 'should return
|
47
|
-
@linode
|
48
|
-
|
102
|
+
describe 'when initialized with API key' do
|
103
|
+
it 'should return a nil username' do
|
104
|
+
@linode.username.should be_nil
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'should return a nil password' do
|
108
|
+
@linode.password.should be_nil
|
49
109
|
end
|
50
110
|
|
51
|
-
it 'should return the
|
52
|
-
@linode
|
53
|
-
|
111
|
+
it 'should be able to return the API key provided at creation time' do
|
112
|
+
@linode.api_key.should == 'foo'
|
113
|
+
end
|
114
|
+
|
115
|
+
describe 'when returning the current API URL' do
|
116
|
+
it 'should return the API URL provided at creation time if one was provided' do
|
117
|
+
@linode = Linode.new(:api_key => @api_key, :api_url => 'https://fake.linode.com/')
|
118
|
+
@linode.api_url.should == 'https://fake.linode.com/'
|
119
|
+
end
|
120
|
+
|
121
|
+
it 'should return the stock linode API URL if none was provided at creation time' do
|
122
|
+
@linode = Linode.new(:api_key => @api_key)
|
123
|
+
@linode.api_url.should == 'https://api.linode.com/'
|
124
|
+
end
|
54
125
|
end
|
55
126
|
end
|
56
127
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# this is my favorite way to require ever
|
2
2
|
begin
|
3
|
-
require '
|
3
|
+
require 'rspec'
|
4
4
|
rescue LoadError
|
5
5
|
require 'rubygems'
|
6
6
|
gem 'rspec'
|
7
|
-
require '
|
7
|
+
require 'rspec'
|
8
8
|
end
|
9
9
|
|
10
10
|
begin
|
@@ -15,7 +15,7 @@ rescue LoadError
|
|
15
15
|
require 'mocha'
|
16
16
|
end
|
17
17
|
|
18
|
-
|
18
|
+
Rspec.configure do |config|
|
19
19
|
config.mock_with :mocha
|
20
20
|
end
|
21
21
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
9
|
+
- 3
|
10
|
+
version: 0.6.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Rick Bradley
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-11-23 00:00:00 -06:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -43,12 +43,13 @@ extensions: []
|
|
43
43
|
extra_rdoc_files:
|
44
44
|
- README
|
45
45
|
files:
|
46
|
-
- .
|
46
|
+
- .rspec
|
47
47
|
- CHANGELOG
|
48
48
|
- MIT-LICENSE
|
49
49
|
- README
|
50
50
|
- Rakefile
|
51
51
|
- VERSION
|
52
|
+
- autotest/discover.rb
|
52
53
|
- lib/linode.rb
|
53
54
|
- lib/linode/avail.rb
|
54
55
|
- lib/linode/domain.rb
|
@@ -74,15 +75,14 @@ files:
|
|
74
75
|
- spec/linode/test_spec.rb
|
75
76
|
- spec/linode/user_spec.rb
|
76
77
|
- spec/linode_spec.rb
|
77
|
-
- spec/spec.opts
|
78
78
|
- spec/spec_helper.rb
|
79
79
|
has_rdoc: true
|
80
80
|
homepage: http://github.com/rick/linode
|
81
81
|
licenses: []
|
82
82
|
|
83
83
|
post_install_message:
|
84
|
-
rdoc_options:
|
85
|
-
|
84
|
+
rdoc_options: []
|
85
|
+
|
86
86
|
require_paths:
|
87
87
|
- lib
|
88
88
|
required_ruby_version: !ruby/object:Gem::Requirement
|
data/.gitignore
DELETED