rspreedly 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/rspreedly/base.rb +3 -1
- data/lib/rspreedly/config.rb +3 -2
- data/lib/rspreedly/error.rb +2 -1
- data/rspreedly.gemspec +5 -3
- data/spec/base_spec.rb +12 -0
- data/spec/spec_helper.rb +4 -8
- metadata +4 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/rspreedly/base.rb
CHANGED
@@ -6,7 +6,7 @@ module RSpreedly
|
|
6
6
|
base_uri "https://spreedly.com/api/v4"
|
7
7
|
|
8
8
|
def self.api_request(type, path, options={})
|
9
|
-
path = "
|
9
|
+
path = "/#{::RSpreedly::Config.site_name}#{path}"
|
10
10
|
options.merge!({
|
11
11
|
:basic_auth => {:username => RSpreedly::Config.api_key, :password => 'X'},
|
12
12
|
:headers => {"Content-Type" => 'application/xml'}
|
@@ -19,6 +19,8 @@ module RSpreedly
|
|
19
19
|
message = "#{response.code}: #{response.body}"
|
20
20
|
|
21
21
|
case response.code.to_i
|
22
|
+
when 401
|
23
|
+
raise(RSpreedly::Error::AccessDenied.new, message)
|
22
24
|
when 403
|
23
25
|
raise(RSpreedly::Error::Forbidden.new, message)
|
24
26
|
when 422
|
data/lib/rspreedly/config.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'pp'
|
1
2
|
module RSpreedly
|
2
3
|
module Config
|
3
4
|
class << self
|
@@ -11,8 +12,8 @@ module RSpreedly
|
|
11
12
|
{
|
12
13
|
:logger => defined?(RAILS_DEFAULT_LOGGER) ? RAILS_DEFAULT_LOGGER : Logger.new(STDOUT),
|
13
14
|
:debug => false,
|
14
|
-
:site_name =>
|
15
|
-
:
|
15
|
+
:site_name => "your-site-name",
|
16
|
+
:api_key => "your-api-key"
|
16
17
|
}
|
17
18
|
end
|
18
19
|
|
data/lib/rspreedly/error.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module RSpreedly
|
2
2
|
module Error
|
3
|
-
class Base < StandardError;
|
3
|
+
class Base < StandardError; end
|
4
|
+
class AccessDenied < Base; end # 401 errors
|
4
5
|
class Forbidden < Base; end # 403 errors
|
5
6
|
class BadRequest < Base; end # 422 errors
|
6
7
|
class NotFound < Base; end # 404 errors
|
data/rspreedly.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{rspreedly}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Richard Livsey"]
|
9
|
-
s.date = %q{2009-10-
|
9
|
+
s.date = %q{2009-10-30}
|
10
10
|
s.email = %q{richard@livsey.org}
|
11
11
|
s.extra_rdoc_files = [
|
12
12
|
"LICENSE",
|
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
"lib/rspreedly/subscriber.rb",
|
32
32
|
"lib/rspreedly/subscription_plan.rb",
|
33
33
|
"rspreedly.gemspec",
|
34
|
+
"spec/base_spec.rb",
|
34
35
|
"spec/config_spec.rb",
|
35
36
|
"spec/fixtures/complimentary_failed_active.xml",
|
36
37
|
"spec/fixtures/complimentary_failed_inactive.xml",
|
@@ -69,7 +70,8 @@ Gem::Specification.new do |s|
|
|
69
70
|
s.rubygems_version = %q{1.3.5}
|
70
71
|
s.summary = %q{Ruby library for the Spreedly API}
|
71
72
|
s.test_files = [
|
72
|
-
"spec/
|
73
|
+
"spec/base_spec.rb",
|
74
|
+
"spec/config_spec.rb",
|
73
75
|
"spec/invoice_spec.rb",
|
74
76
|
"spec/spec_helper.rb",
|
75
77
|
"spec/subscriber_spec.rb",
|
data/spec/base_spec.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
describe RSpreedly::Base do
|
3
|
+
|
4
|
+
describe "#api_request" do
|
5
|
+
it "should raise AccessDenied if a 401 is receiver" do
|
6
|
+
stub_http_with_code(401)
|
7
|
+
lambda{
|
8
|
+
RSpreedly::Base.api_request(:put, '/')
|
9
|
+
}.should raise_error(RSpreedly::Error::AccessDenied)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,18 +1,14 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'spec'
|
3
|
-
|
3
|
+
require 'net-http-spy'
|
4
4
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
5
5
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
6
6
|
require 'rspreedly'
|
7
7
|
|
8
|
-
# setup a config with dummy data
|
9
|
-
RSpreedly::Config.setup do |config|
|
10
|
-
config.api_key = "your-api-key-here"
|
11
|
-
config.site_name = "you-site-name-here"
|
12
|
-
end
|
13
|
-
|
14
8
|
Spec::Runner.configure do |config|
|
15
|
-
|
9
|
+
config.before(:each) do
|
10
|
+
RSpreedly::Config.reset
|
11
|
+
end
|
16
12
|
end
|
17
13
|
|
18
14
|
def load_fixture(file)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspreedly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Livsey
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-30 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -41,6 +41,7 @@ files:
|
|
41
41
|
- lib/rspreedly/subscriber.rb
|
42
42
|
- lib/rspreedly/subscription_plan.rb
|
43
43
|
- rspreedly.gemspec
|
44
|
+
- spec/base_spec.rb
|
44
45
|
- spec/config_spec.rb
|
45
46
|
- spec/fixtures/complimentary_failed_active.xml
|
46
47
|
- spec/fixtures/complimentary_failed_inactive.xml
|
@@ -101,6 +102,7 @@ signing_key:
|
|
101
102
|
specification_version: 3
|
102
103
|
summary: Ruby library for the Spreedly API
|
103
104
|
test_files:
|
105
|
+
- spec/base_spec.rb
|
104
106
|
- spec/config_spec.rb
|
105
107
|
- spec/invoice_spec.rb
|
106
108
|
- spec/spec_helper.rb
|