fastspring-saasy 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -9,13 +9,20 @@ Ruby library to access the FastSpring Saasy API.
9
9
  == Usage
10
10
 
11
11
  require 'fastspring-saasy'
12
- FastSpring::Subscription.new('company', 'reference', 'user', 'password')
12
+
13
+ FastSpring::Account.setup do |config|
14
+ config[:username] = 'user'
15
+ config[:password] = 'password'
16
+ config[:company] = 'company'
17
+ end
18
+
19
+ #get subscription
20
+ FastSpring::Subscription.find('reference')
13
21
 
14
22
  == Todo
15
23
 
16
- * Support update
17
24
  * Support the order API
18
-
25
+
19
26
  == Copyright
20
27
 
21
28
  Copyright (c) 2011 Richard Patching. See LICENSE.txt for
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "fastspring-saasy"
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Richard Patching"]
12
- s.date = "2011-11-10"
12
+ s.date = "2011-11-11"
13
13
  s.description = "Ruby lib for using the FastSpring (Saas) subscription management API"
14
14
  s.email = "richard@justaddpixels.com"
15
15
  s.extra_rdoc_files = [
@@ -27,9 +27,11 @@ Gem::Specification.new do |s|
27
27
  "VERSION",
28
28
  "fastspring-saasy.gemspec",
29
29
  "lib/fastspring-saasy.rb",
30
+ "lib/fastspring-saasy/account.rb",
30
31
  "lib/fastspring-saasy/customer.rb",
31
32
  "lib/fastspring-saasy/error.rb",
32
33
  "lib/fastspring-saasy/subscription.rb",
34
+ "spec/account_spec.rb",
33
35
  "spec/customer_spec.rb",
34
36
  "spec/fixtures/basic_subscription.xml",
35
37
  "spec/spec_helper.rb",
@@ -1,5 +1,6 @@
1
1
  require 'httparty'
2
2
 
3
+ require_relative 'fastspring-saasy/account'
3
4
  require_relative 'fastspring-saasy/subscription'
4
5
  require_relative 'fastspring-saasy/customer'
5
6
  require_relative 'fastspring-saasy/error'
@@ -0,0 +1,26 @@
1
+ module FastSpring
2
+ module Account
3
+
4
+ def self.config
5
+ @config ||= {:username => 'user', :password => 'pass', :company => 'your-company'}
6
+ end
7
+
8
+ def self.[]=(key, val)
9
+ config[key] = val
10
+ end
11
+
12
+ def self.fetch(key)
13
+ config[key]
14
+ end
15
+
16
+ def self.setup
17
+ yield self
18
+ nil
19
+ end
20
+
21
+ def [](key)
22
+ config[key]
23
+ end
24
+
25
+ end
26
+ end
@@ -10,13 +10,19 @@ module FastSpring
10
10
  attr_reader :customer
11
11
 
12
12
  # Get the subscription from Saasy
13
- def initialize(company, reference, username, password)
14
- @auth = {:username => username, :password => password}
15
- @company = company
13
+ def initialize(reference)
14
+ @auth = {:username => FastSpring::Account.fetch(:username),
15
+ :password => FastSpring::Account.fetch(:password)}
16
+ @company = FastSpring::Account.fetch(:company)
16
17
  @reference = reference
17
18
  @response = self.class.get(base_subscription_path, :basic_auth => @auth)
18
19
  end
19
20
 
21
+ # Find a subscription by reference
22
+ def self.find(reference)
23
+ self.new(reference)
24
+ end
25
+
20
26
  # Returns the base path for a subscription
21
27
  def base_subscription_path
22
28
  "/company/#{@company}/subscription/#{@reference}"
@@ -0,0 +1,15 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '../lib/fastspring-saasy.rb'))
2
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper.rb'))
3
+
4
+ describe FastSpring::Account do
5
+ before do
6
+ FastSpring::Account.setup do |config|
7
+ config[:username] = 'johndoe'
8
+ config[:password] = 'secret'
9
+ config[:company] = 'acme'
10
+ end
11
+ end
12
+ it 'stores the configuration for the account setup' do
13
+ FastSpring::Account.config.should == {:username=>"johndoe", :password=>"secret", :company=>"acme"}
14
+ end
15
+ end
@@ -2,8 +2,17 @@ require File.expand_path(File.join(File.dirname(__FILE__), '../lib/fastspring-sa
2
2
  require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper.rb'))
3
3
 
4
4
  describe FastSpring::Subscription do
5
+
6
+ before do
7
+ FastSpring::Account.setup do |config|
8
+ config[:username] = 'admin'
9
+ config[:password] = 'test'
10
+ config[:company] = 'acme'
11
+ end
12
+ end
13
+
5
14
  context 'url for subscriptions' do
6
- subject { FastSpring::Subscription.new('acme', 'test_ref', 'admin', 'test') }
15
+ subject { FastSpring::Subscription.find('test_ref') }
7
16
  before do
8
17
  stub_request(:get, "https://admin:test@api.fastspring.com/company/acme/subscription/test_ref").
9
18
  to_return(:status => 200, :body => "", :headers => {})
@@ -15,7 +24,7 @@ describe FastSpring::Subscription do
15
24
  end
16
25
 
17
26
  context 'subscription details' do
18
- subject { FastSpring::Subscription.new('acme', 'test_ref', 'admin', 'test') }
27
+ subject { FastSpring::Subscription.find('test_ref') }
19
28
  let(:customer) { mock(:customer) }
20
29
  before do
21
30
  stub_request(:get, "https://admin:test@api.fastspring.com/company/acme/subscription/test_ref").
@@ -79,7 +88,7 @@ describe FastSpring::Subscription do
79
88
  end
80
89
 
81
90
  context 'renew' do
82
- subject { FastSpring::Subscription.new('acme', 'test_ref', 'admin', 'test') }
91
+ subject { FastSpring::Subscription.find('test_ref') }
83
92
  before do
84
93
  stub_request(:get, "https://admin:test@api.fastspring.com/company/acme/subscription/test_ref").
85
94
  to_return(stub_http_response_with('basic_subscription.xml'))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastspring-saasy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-10 00:00:00.000000000Z
12
+ date: 2011-11-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &70283465740340 !ruby/object:Gem::Requirement
16
+ requirement: &70301329265660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70283465740340
24
+ version_requirements: *70301329265660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70283465738460 !ruby/object:Gem::Requirement
27
+ requirement: &70301329263260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70283465738460
35
+ version_requirements: *70301329263260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &70283465737120 !ruby/object:Gem::Requirement
38
+ requirement: &70301329261120 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70283465737120
46
+ version_requirements: *70301329261120
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &70283465735680 !ruby/object:Gem::Requirement
49
+ requirement: &70301329258540 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70283465735680
57
+ version_requirements: *70301329258540
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: httparty
60
- requirement: &70283465731180 !ruby/object:Gem::Requirement
60
+ requirement: &70301329256600 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 0.8.1
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70283465731180
68
+ version_requirements: *70301329256600
69
69
  description: Ruby lib for using the FastSpring (Saas) subscription management API
70
70
  email: richard@justaddpixels.com
71
71
  executables: []
@@ -84,9 +84,11 @@ files:
84
84
  - VERSION
85
85
  - fastspring-saasy.gemspec
86
86
  - lib/fastspring-saasy.rb
87
+ - lib/fastspring-saasy/account.rb
87
88
  - lib/fastspring-saasy/customer.rb
88
89
  - lib/fastspring-saasy/error.rb
89
90
  - lib/fastspring-saasy/subscription.rb
91
+ - spec/account_spec.rb
90
92
  - spec/customer_spec.rb
91
93
  - spec/fixtures/basic_subscription.xml
92
94
  - spec/spec_helper.rb
@@ -106,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
108
  version: '0'
107
109
  segments:
108
110
  - 0
109
- hash: 4132004254887174814
111
+ hash: 4459669591776827499
110
112
  required_rubygems_version: !ruby/object:Gem::Requirement
111
113
  none: false
112
114
  requirements: