chargebee 1.2.3 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/chargebee.gemspec CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.5'
5
5
 
6
6
  s.name = 'chargebee'
7
- s.version = '1.2.3'
8
- s.date = '2013-07-10'
7
+ s.version = '1.2.4'
8
+ s.date = '2013-08-06'
9
9
 
10
10
  s.summary = "Ruby client for Chargebee API."
11
11
  s.description = "Subscription Billing - Simple. Secure. Affordable. More details at www.chargebee.com."
@@ -56,6 +56,7 @@ Gem::Specification.new do |s|
56
56
  lib/chargebee/result.rb
57
57
  lib/chargebee/util.rb
58
58
  lib/ssl/ca-certs.crt
59
+ spec/chargebee/list_result_spec.rb
59
60
  spec/chargebee_spec.rb
60
61
  spec/sample_response.rb
61
62
  spec/spec_helper.rb
data/lib/chargebee.rb CHANGED
@@ -24,7 +24,7 @@ require File.dirname(__FILE__) + '/chargebee/models/coupon'
24
24
 
25
25
  module ChargeBee
26
26
 
27
- VERSION = '1.2.3'
27
+ VERSION = '1.2.4'
28
28
 
29
29
  @@default_env = nil
30
30
  @@verify_ca_certs = true
@@ -8,9 +8,12 @@ module ChargeBee
8
8
  def_delegator :@list, :each, :each
9
9
  def_delegator :@list, :length, :length
10
10
 
11
- def initialize(response)
11
+ attr_reader :next_offset
12
+
13
+ def initialize(response, next_offset=nil)
12
14
  @response = response
13
15
  @list = Array.new
16
+ @next_offset = JSON.parse(next_offset) if next_offset
14
17
  initItems()
15
18
  end
16
19
 
@@ -7,13 +7,13 @@ module ChargeBee
7
7
  # OPERATIONS
8
8
  #-----------
9
9
 
10
- def self.update(params, env=nil)
11
- Request.send('post', "/addresses", params, env)
12
- end
13
-
14
10
  def self.retrieve(params, env=nil)
15
11
  Request.send('get', "/addresses", params, env)
16
12
  end
17
13
 
14
+ def self.update(params, env=nil)
15
+ Request.send('post', "/addresses", params, env)
16
+ end
17
+
18
18
  end # ~Address
19
19
  end # ~ChargeBee
@@ -19,12 +19,12 @@ module ChargeBee
19
19
  # OPERATIONS
20
20
  #-----------
21
21
 
22
- def self.add_charge(id, params, env=nil)
23
- Request.send('post', "/invoices/#{id.to_s}/add_charge", params, env)
22
+ def self.charge(params, env=nil)
23
+ Request.send('post', "/invoices/charge", params, env)
24
24
  end
25
25
 
26
- def self.add_addon_charge(id, params, env=nil)
27
- Request.send('post', "/invoices/#{id.to_s}/add_addon_charge", params, env)
26
+ def self.charge_addon(params, env=nil)
27
+ Request.send('post', "/invoices/charge_addon", params, env)
28
28
  end
29
29
 
30
30
  def self.list(params={}, env=nil)
@@ -39,16 +39,16 @@ module ChargeBee
39
39
  Request.send('get', "/invoices/#{id.to_s}", {}, env)
40
40
  end
41
41
 
42
- def self.collect(id, env=nil)
43
- Request.send('post', "/invoices/#{id.to_s}/collect", {}, env)
42
+ def self.add_charge(id, params, env=nil)
43
+ Request.send('post', "/invoices/#{id.to_s}/add_charge", params, env)
44
44
  end
45
45
 
46
- def self.charge(params, env=nil)
47
- Request.send('post', "/invoices/charge", params, env)
46
+ def self.add_addon_charge(id, params, env=nil)
47
+ Request.send('post', "/invoices/#{id.to_s}/add_addon_charge", params, env)
48
48
  end
49
49
 
50
- def self.charge_addon(params, env=nil)
51
- Request.send('post', "/invoices/charge_addon", params, env)
50
+ def self.collect(id, env=nil)
51
+ Request.send('post', "/invoices/#{id.to_s}/collect", {}, env)
52
52
  end
53
53
 
54
54
  end # ~Invoice
@@ -12,13 +12,13 @@ module ChargeBee
12
12
  Request.send('get', "/transactions", params, env)
13
13
  end
14
14
 
15
- def self.retrieve(id, env=nil)
16
- Request.send('get', "/transactions/#{id.to_s}", {}, env)
17
- end
18
-
19
15
  def self.transactions_for_subscription(id, params={}, env=nil)
20
16
  Request.send('get', "/subscriptions/#{id.to_s}/transactions", params, env)
21
17
  end
22
18
 
19
+ def self.retrieve(id, env=nil)
20
+ Request.send('get', "/transactions/#{id.to_s}", {}, env)
21
+ end
22
+
23
23
  end # ~Transaction
24
24
  end # ~ChargeBee
@@ -5,7 +5,11 @@ module ChargeBee
5
5
  env ||= ChargeBee.default_env
6
6
  ser_params = Util.serialize(params)
7
7
  resp = Rest.request(method, url, env, ser_params||={})
8
- resp.has_key?(:list) ? ListResult.new(resp[:list]) : Result.new(resp)
8
+ if resp.has_key?(:list)
9
+ ListResult.new(resp[:list], resp[:next_offset])
10
+ else
11
+ Result.new(resp)
12
+ end
9
13
  end
10
14
 
11
15
  end
@@ -0,0 +1,53 @@
1
+ require "spec_helper"
2
+
3
+ describe ChargeBee::ListResult do
4
+ let(:response) do
5
+ {:list=>
6
+ [{:customer=>
7
+ {:id=>"d0cus3orh6gnjgha1i",
8
+ :first_name=>"Test Name1",
9
+ :last_name=>"Test last name 1",
10
+ :email=>"name1@gmail.com",
11
+ :auto_collection=>"on",
12
+ :created_at=>1346258514,
13
+ :object=>"customer",
14
+ :card_status=>"valid"},
15
+ :card=>
16
+ {:customer_id=>"d0cus3orh6gnjgha1i",
17
+ :status=>"valid",
18
+ :gateway=>"chargebee",
19
+ :first_name=>"Test Name1",
20
+ :last_name=>"Test last name 1",
21
+ :iin=>"32122",
22
+ :last4=>"1333",
23
+ :card_type=>"visa",
24
+ :expiry_month=>8,
25
+ :expiry_year=>2013,
26
+ :billing_addr1=>"Flat 11",
27
+ :billing_addr2=>"51 Strit",
28
+ :billing_city=>"Bristol",
29
+ :billing_state=>"Somerset",
30
+ :billing_zip=>"BS1 4HQ",
31
+ :object=>"card",
32
+ :masked_number=>"21323****4323"}},
33
+ {:customer=>
34
+ {:id=>"cwtid6smh67tq3z51l",
35
+ :first_name=>"Test Name 2",
36
+ :last_name=>"Test last name 2",
37
+ :email=>"name2@gmail.com",
38
+ :auto_collection=>"on",
39
+ :created_at=>1345724673,
40
+ :object=>"customer",
41
+ :card_status=>"no_card"}}],
42
+ :next_offset=>"[\"1345724673000\",\"1510\"]"}
43
+ end
44
+
45
+ before do
46
+ ChargeBee::Rest.stubs(:request).returns(response)
47
+ end
48
+
49
+ it "returns list object, with next offset attribute" do
50
+ list = ChargeBee::Request.send(:customer, "http://url.com", {:limit => 2})
51
+ list.next_offset.should =~ ["1345724673000", "1510"]
52
+ end
53
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: chargebee
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.3
5
+ version: 1.2.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Rajaraman S
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2013-07-10 00:00:00 Z
14
+ date: 2013-08-06 00:00:00 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json_pure
@@ -97,6 +97,7 @@ files:
97
97
  - lib/chargebee/result.rb
98
98
  - lib/chargebee/util.rb
99
99
  - lib/ssl/ca-certs.crt
100
+ - spec/chargebee/list_result_spec.rb
100
101
  - spec/chargebee_spec.rb
101
102
  - spec/sample_response.rb
102
103
  - spec/spec_helper.rb
@@ -128,6 +129,7 @@ signing_key:
128
129
  specification_version: 2
129
130
  summary: Ruby client for Chargebee API.
130
131
  test_files:
132
+ - spec/chargebee/list_result_spec.rb
131
133
  - spec/chargebee_spec.rb
132
134
  - spec/sample_response.rb
133
135
  - spec/spec_helper.rb