diff --git a/README.md b/README.md index 91e4b24..977b18f 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Testing your changes against Ruby 1.9.3 and ~> 2.3 should be enough to ensure co ## RUNNING: -Consult the Linode API guide here: [https://www.linode.com/api/](https://www.linode.com/api/) +Consult the Linode API guide here: [https://www.linode.com/apiv3/](https://www.linode.com/apiv3/) You will need to get an API key (check your account profile). Here is an annoyingly exhaustive IRB session where I play around with the API: @@ -189,6 +189,8 @@ RuntimeError: Errors completing request [linode.ip.list] @ [https://api.linode.c - Error #6 - LINODEID is required but was not passed in. (Please consult http://www.linode.com/api/linode/linode.ip.list) irb> l.linode.ip.list(:LinodeId => 12446) => [#, #] +irb> l.linode.create(:datacenterid => 2, :planid =>1) + => # irb> ^D@ Wed Aug 05 01:50:52 rick@Yer-Moms-Computer ``` diff --git a/lib/linode.rb b/lib/linode.rb index a5ca0ad..61700a5 100644 --- a/lib/linode.rb +++ b/lib/linode.rb @@ -51,7 +51,7 @@ def self.class_to_path(class_name) def documentation_path(action) hits = action.match(/^(.*)\.[^.]+$/) - "https://www.linode.com/api/" + @@documentation_category[hits[1]] + '/' + action + "https://www.linode.com/apiv3/" + @@documentation_category[hits[1]] + '/' + action end def initialize(args) diff --git a/spec/linode/account_spec.rb b/spec/linode/account_spec.rb index 660308a..27ca9a9 100644 --- a/spec/linode/account_spec.rb +++ b/spec/linode/account_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/account/account.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/account/account.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/account/account.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/account/account.#{action}" end end end diff --git a/spec/linode/avail_spec.rb b/spec/linode/avail_spec.rb index f2d9683..4aacf85 100644 --- a/spec/linode/avail_spec.rb +++ b/spec/linode/avail_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/utility/avail.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/utility/avail.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/utility/avail.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/utility/avail.#{action}" end end end diff --git a/spec/linode/domain/resource_spec.rb b/spec/linode/domain/resource_spec.rb index 47421ee..3d87970 100644 --- a/spec/linode/domain/resource_spec.rb +++ b/spec/linode/domain/resource_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/dns/domain.resource.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/dns/domain.resource.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/dns/domain.resource.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/dns/domain.resource.#{action}" end end end diff --git a/spec/linode/domain_spec.rb b/spec/linode/domain_spec.rb index 3c58946..723ca1f 100644 --- a/spec/linode/domain_spec.rb +++ b/spec/linode/domain_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/dns/domain.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/dns/domain.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/dns/domain.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/dns/domain.#{action}" end end end diff --git a/spec/linode/image_spec.rb b/spec/linode/image_spec.rb index f928f6b..8c6a8ca 100644 --- a/spec/linode/image_spec.rb +++ b/spec/linode/image_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/image/image.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/image/image.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/image/image.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/image/image.#{action}" end end end diff --git a/spec/linode/linode/config_spec.rb b/spec/linode/linode/config_spec.rb index 4daf957..2538eee 100644 --- a/spec/linode/linode/config_spec.rb +++ b/spec/linode/linode/config_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/linode/linode.config.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/linode/linode.config.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/linode/linode.config.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/linode/linode.config.#{action}" end end end diff --git a/spec/linode/linode/disk_spec.rb b/spec/linode/linode/disk_spec.rb index e368b9b..c2573d6 100644 --- a/spec/linode/linode/disk_spec.rb +++ b/spec/linode/linode/disk_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/linode/linode.disk.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/linode/linode.disk.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/linode/linode.disk.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/linode/linode.disk.#{action}" end end end diff --git a/spec/linode/linode/ip_spec.rb b/spec/linode/linode/ip_spec.rb index 3a5da83..dedcc51 100644 --- a/spec/linode/linode/ip_spec.rb +++ b/spec/linode/linode/ip_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/linode/linode.ip.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/linode/linode.ip.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/linode/linode.ip.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/linode/linode.ip.#{action}" end end end diff --git a/spec/linode/linode/job_spec.rb b/spec/linode/linode/job_spec.rb index 4c8510c..c91e994 100644 --- a/spec/linode/linode/job_spec.rb +++ b/spec/linode/linode/job_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/linode/linode.job.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/linode/linode.job.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/linode/linode.job.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/linode/linode.job.#{action}" end end end diff --git a/spec/linode/linode_spec.rb b/spec/linode/linode_spec.rb index bb5ee96..ff4e55b 100644 --- a/spec/linode/linode_spec.rb +++ b/spec/linode/linode_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/linode/linode.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/linode/linode.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/linode/linode.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/linode/linode.#{action}" end end end diff --git a/spec/linode/nodebalancer/config_spec.rb b/spec/linode/nodebalancer/config_spec.rb index b50f11f..a9af2c6 100644 --- a/spec/linode/nodebalancer/config_spec.rb +++ b/spec/linode/nodebalancer/config_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/nodebalancer/nodebalancer.config.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/nodebalancer/nodebalancer.config.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/nodebalancer/nodebalancer.config.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/nodebalancer/nodebalancer.config.#{action}" end end end diff --git a/spec/linode/nodebalancer/node_spec.rb b/spec/linode/nodebalancer/node_spec.rb index 0c50075..f2ec8ea 100644 --- a/spec/linode/nodebalancer/node_spec.rb +++ b/spec/linode/nodebalancer/node_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/nodebalancer/nodebalancer.node.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/nodebalancer/nodebalancer.node.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/nodebalancer/nodebalancer.node.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/nodebalancer/nodebalancer.node.#{action}" end end end diff --git a/spec/linode/nodebalancer_spec.rb b/spec/linode/nodebalancer_spec.rb index 375840b..7b0c782 100644 --- a/spec/linode/nodebalancer_spec.rb +++ b/spec/linode/nodebalancer_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/nodebalancer/nodebalancer.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/nodebalancer/nodebalancer.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/nodebalancer/nodebalancer.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/nodebalancer/nodebalancer.#{action}" end end end @@ -62,7 +62,7 @@ it 'should allow no arguments' do lambda { @linode.config }.should_not raise_error end - + it 'should require no arguments' do lambda { @linode.config(:foo) }.should raise_error(ArgumentError) end diff --git a/spec/linode/stackscript_spec.rb b/spec/linode/stackscript_spec.rb index 67cf021..4390f67 100644 --- a/spec/linode/stackscript_spec.rb +++ b/spec/linode/stackscript_spec.rb @@ -42,8 +42,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/stackscript/stackscript.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/stackscript/stackscript.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/stackscript/stackscript.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/stackscript/stackscript.#{action}" end end end diff --git a/spec/linode/test_spec.rb b/spec/linode/test_spec.rb index 34b5ea9..3f5189f 100644 --- a/spec/linode/test_spec.rb +++ b/spec/linode/test_spec.rb @@ -43,8 +43,8 @@ @linode.send(action.to_sym).should == { :bar => :baz } end - it "should consider the documentation to live at https://www.linode.com/api/linode/linode.#{action}" do - @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/api/utility/test.#{action}" + it "should consider the documentation to live at https://www.linode.com/apiv3/linode/linode.#{action}" do + @linode.documentation_path(Linode.action_path(@linode.class.name, action)).should == "https://www.linode.com/apiv3/utility/test.#{action}" end end end diff --git a/spec/linode/user_spec.rb b/spec/linode/user_spec.rb index 4524d33..08db2ba 100644 --- a/spec/linode/user_spec.rb +++ b/spec/linode/user_spec.rb @@ -6,31 +6,31 @@ @api_key = 'foo' @linode = Linode::User.new(:api_key => @api_key) end - + it 'should be a Linode instance' do @linode.class.should < Linode end - + it 'should be able to return the API key for the connection' do @linode.should respond_to(:getapikey) end - + describe 'when returning the API key for the connection' do it 'should work without arguments' do lambda { @linode.getapikey }.should_not raise_error end - + it 'should not allow arguments' do - lambda { @linode.getapikey(:foo) }.should raise_error(ArgumentError) + lambda { @linode.getapikey(:foo) }.should raise_error(ArgumentError) end - + it 'should return the api_key via the Linode handle' do @linode.stubs(:api_key).returns('foo') @linode.getapikey.should == 'foo' end - - it "should consider the documentation to live at https://www.linode.com/api/utility/user.getapikey" do - @linode.documentation_path(Linode.action_path(@linode.class.name, 'getapikey')).should == "https://www.linode.com/api/utility/user.getapikey" + + it "should consider the documentation to live at https://www.linode.com/apiv3/utility/user.getapikey" do + @linode.documentation_path(Linode.action_path(@linode.class.name, 'getapikey')).should == "https://www.linode.com/apiv3/utility/user.getapikey" end end end