chargebee 1.7.2 → 1.7.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 15833e57d23c11402ded9150101a3687291e1808
4
- data.tar.gz: 963b16c0d0c69367f741750483494c7812633316
3
+ metadata.gz: ae79fac2bac54bd47d2b5ca02ed4d01ed0888e08
4
+ data.tar.gz: 60ec8f79915d35da5756dfc269a19839e16ebcbe
5
5
  SHA512:
6
- metadata.gz: c1a519e18c0e22351f513ba810b4e473128342428959b4fae8f4e5115b030f40629131a47e96f3b8cb2df5f7f2c5432562f9f8bcd00e2edcb3d1b522387dff4d
7
- data.tar.gz: 4a50e378af7981ffd3dacb81a32d8c20842cdeffde44b779ed0ddb2d3313978e5a047b9815e5e7e929adc9300c3e2eda0d0954589819810d2bb5d1e399c4e893
6
+ metadata.gz: 2697f47219ab2f231bef5d701e74c8fb4fc0f4a44fdfe23aeac217681bf4996dbdcd13d058dd1a3d29102d5ff762d31865c924d5cb42ac05abd30cd3710247a9
7
+ data.tar.gz: 857ca295ac42900c193984175d93f2695d6e3a77d2330266e8aef3cc0c82a2c6d7184dd5fb8b01bcd7265f27876927b630518be15ae155ec91fba6025bcaea14
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ### v1.7.3 (2019-07-22)
2
+ * * *
3
+
4
+ * New enpoint Update card for customer using payment intent has been added.
5
+ * The attirbute reference_id has been added in card resource.
6
+ * The input parameters payment_intent with gateway_account_id and gw_token have been added in create a customer, create subscription, create subscription for customer and update subscription API.
7
+ * The attributes initiator_type and three_d_secure have been added in transaction resource.
8
+ * New enpoint Update card for customer using payment intent has been added in card resource.
9
+ * New attribute reference_id has been added in card resource.
10
+
1
11
  ### v1.7.2 (2016-04-06)
2
12
  * * *
3
13
 
data/Rakefile CHANGED
@@ -1,150 +1,150 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'date'
4
-
5
- #############################################################################
6
- #
7
- # Helper functions
8
- #
9
- #############################################################################
10
-
11
- def name
12
- @name ||= Dir['*.gemspec'].first.split('.').first
13
- end
14
-
15
- def version
16
- line = File.read("lib/#{name}.rb")[/^\s*VERSION\s*=\s*.*/]
17
- line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
18
- end
19
-
20
- def date
21
- Date.today.to_s
22
- end
23
-
24
- def rubyforge_project
25
- name
26
- end
27
-
28
- def gemspec_file
29
- "#{name}.gemspec"
30
- end
31
-
32
- def gem_file
33
- "#{name}-#{version}.gem"
34
- end
35
-
36
- def replace_header(head, header_name)
37
- head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
38
- end
39
-
40
- #############################################################################
41
- #
42
- # Standard tasks
43
- #
44
- #############################################################################
45
-
46
- task :default => :test
47
-
48
- require 'rake/testtask'
49
- Rake::TestTask.new(:test) do |test|
50
- test.libs << 'lib' << 'test'
51
- test.pattern = 'test/**/test_*.rb'
52
- test.verbose = true
53
- end
54
-
55
- desc "Generate RCov test coverage and open in your browser"
56
- task :coverage do
57
- require 'rcov'
58
- sh "rm -fr coverage"
59
- sh "rcov test/test_*.rb"
60
- sh "open coverage/index.html"
61
- end
62
-
63
- # require 'rake/rdoctask'
64
- # Rake::RDocTask.new do |rdoc|
65
- # rdoc.rdoc_dir = 'rdoc'
66
- # rdoc.title = "#{name} #{version}"
67
- # rdoc.rdoc_files.include('README*')
68
- # rdoc.rdoc_files.include('lib/**/*.rb')
69
- # end
70
-
71
- desc "Open an irb session preloaded with this library"
72
- task :console do
73
- sh "irb -rubygems -r ./lib/#{name}.rb"
74
- end
75
-
76
- #############################################################################
77
- #
78
- # Custom tasks (add your own tasks here)
79
- #
80
- #############################################################################
81
-
82
-
83
-
84
- #############################################################################
85
- #
86
- # Packaging tasks
87
- #
88
- #############################################################################
89
-
90
- desc "Create tag v#{version} and build and push #{gem_file} to Rubygems"
91
- task :release => :build do
92
- unless `git branch` =~ /^\* master$/
93
- puts "You must be on the master branch to release!"
94
- exit!
95
- end
96
- sh "git commit --allow-empty -a -m 'Release #{version}'"
97
- sh "git tag v#{version}"
98
- sh "git push origin master"
99
- sh "git push origin v#{version}"
100
- sh "gem push pkg/#{name}-#{version}.gem"
101
- end
102
-
103
- desc "Build #{gem_file} into the pkg directory"
104
- task :build => :gemspec do
105
- sh "mkdir -p pkg"
106
- sh "gem build #{gemspec_file}"
107
- sh "mv #{gem_file} pkg"
108
- end
109
-
110
- desc "Generate #{gemspec_file}"
111
- task :gemspec => :validate do
112
- # read spec file and split out manifest section
113
- spec = File.read(gemspec_file)
114
- head, manifest, tail = spec.split(" # = MANIFEST =\n")
115
-
116
- # replace name version and date
117
- replace_header(head, :name)
118
- replace_header(head, :version)
119
- replace_header(head, :date)
120
- #comment this out if your rubyforge_project has a different name
121
- replace_header(head, :rubyforge_project)
122
-
123
- # determine file list from git ls-files
124
- files = `git ls-files`.
125
- split("\n").
126
- sort.
127
- reject { |file| file =~ /^\./ }.
128
- reject { |file| file =~ /^(rdoc|pkg)/ }.
129
- map { |file| " #{file}" }.
130
- join("\n")
131
-
132
- # piece file back together and write
133
- manifest = " s.files = %w[\n#{files}\n ]\n"
134
- spec = [head, manifest, tail].join(" # = MANIFEST =\n")
135
- File.open(gemspec_file, 'w') { |io| io.write(spec) }
136
- puts "Updated #{gemspec_file}"
137
- end
138
-
139
- desc "Validate #{gemspec_file}"
140
- task :validate do
141
- libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}", "lib/ssl"]
142
- unless libfiles.empty?
143
- puts "Directory `lib` should only contain a `#{name}.rb` file, `#{name}` dir and `lib/ssl` dir."
144
- exit!
145
- end
146
- unless Dir['VERSION*'].empty?
147
- puts "A `VERSION` file at root level violates Gem best practices."
148
- exit!
149
- end
150
- end
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'date'
4
+
5
+ #############################################################################
6
+ #
7
+ # Helper functions
8
+ #
9
+ #############################################################################
10
+
11
+ def name
12
+ @name ||= Dir['*.gemspec'].first.split('.').first
13
+ end
14
+
15
+ def version
16
+ line = File.read("lib/#{name}.rb")[/^\s*VERSION\s*=\s*.*/]
17
+ line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
18
+ end
19
+
20
+ def date
21
+ Date.today.to_s
22
+ end
23
+
24
+ def rubyforge_project
25
+ name
26
+ end
27
+
28
+ def gemspec_file
29
+ "#{name}.gemspec"
30
+ end
31
+
32
+ def gem_file
33
+ "#{name}-#{version}.gem"
34
+ end
35
+
36
+ def replace_header(head, header_name)
37
+ head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
38
+ end
39
+
40
+ #############################################################################
41
+ #
42
+ # Standard tasks
43
+ #
44
+ #############################################################################
45
+
46
+ task :default => :test
47
+
48
+ require 'rake/testtask'
49
+ Rake::TestTask.new(:test) do |test|
50
+ test.libs << 'lib' << 'test'
51
+ test.pattern = 'test/**/test_*.rb'
52
+ test.verbose = true
53
+ end
54
+
55
+ desc "Generate RCov test coverage and open in your browser"
56
+ task :coverage do
57
+ require 'rcov'
58
+ sh "rm -fr coverage"
59
+ sh "rcov test/test_*.rb"
60
+ sh "open coverage/index.html"
61
+ end
62
+
63
+ # require 'rake/rdoctask'
64
+ # Rake::RDocTask.new do |rdoc|
65
+ # rdoc.rdoc_dir = 'rdoc'
66
+ # rdoc.title = "#{name} #{version}"
67
+ # rdoc.rdoc_files.include('README*')
68
+ # rdoc.rdoc_files.include('lib/**/*.rb')
69
+ # end
70
+
71
+ desc "Open an irb session preloaded with this library"
72
+ task :console do
73
+ sh "irb -rubygems -r ./lib/#{name}.rb"
74
+ end
75
+
76
+ #############################################################################
77
+ #
78
+ # Custom tasks (add your own tasks here)
79
+ #
80
+ #############################################################################
81
+
82
+
83
+
84
+ #############################################################################
85
+ #
86
+ # Packaging tasks
87
+ #
88
+ #############################################################################
89
+
90
+ desc "Create tag v#{version} and build and push #{gem_file} to Rubygems"
91
+ task :release => :build do
92
+ unless `git branch` =~ /^\* master$/
93
+ puts "You must be on the master branch to release!"
94
+ exit!
95
+ end
96
+ sh "git commit --allow-empty -a -m 'Release #{version}'"
97
+ sh "git tag v#{version}"
98
+ sh "git push origin master"
99
+ sh "git push origin v#{version}"
100
+ sh "gem push pkg/#{name}-#{version}.gem"
101
+ end
102
+
103
+ desc "Build #{gem_file} into the pkg directory"
104
+ task :build => :gemspec do
105
+ sh "mkdir -p pkg"
106
+ sh "gem build #{gemspec_file}"
107
+ sh "mv #{gem_file} pkg"
108
+ end
109
+
110
+ desc "Generate #{gemspec_file}"
111
+ task :gemspec => :validate do
112
+ # read spec file and split out manifest section
113
+ spec = File.read(gemspec_file)
114
+ head, manifest, tail = spec.split(" # = MANIFEST =\n")
115
+
116
+ # replace name version and date
117
+ replace_header(head, :name)
118
+ replace_header(head, :version)
119
+ replace_header(head, :date)
120
+ #comment this out if your rubyforge_project has a different name
121
+ replace_header(head, :rubyforge_project)
122
+
123
+ # determine file list from git ls-files
124
+ files = `git ls-files`.
125
+ split("\n").
126
+ sort.
127
+ reject { |file| file =~ /^\./ }.
128
+ reject { |file| file =~ /^(rdoc|pkg)/ }.
129
+ map { |file| " #{file}" }.
130
+ join("\n")
131
+
132
+ # piece file back together and write
133
+ manifest = " s.files = %w[\n#{files}\n ]\n"
134
+ spec = [head, manifest, tail].join(" # = MANIFEST =\n")
135
+ File.open(gemspec_file, 'w') { |io| io.write(spec) }
136
+ puts "Updated #{gemspec_file}"
137
+ end
138
+
139
+ desc "Validate #{gemspec_file}"
140
+ task :validate do
141
+ libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}", "lib/ssl"]
142
+ unless libfiles.empty?
143
+ puts "Directory `lib` should only contain a `#{name}.rb` file, `#{name}` dir and `lib/ssl` dir."
144
+ exit!
145
+ end
146
+ unless Dir['VERSION*'].empty?
147
+ puts "A `VERSION` file at root level violates Gem best practices."
148
+ exit!
149
+ end
150
+ end
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.7.2'
8
- s.date = '2016-04-06'
7
+ s.version = '1.7.3'
8
+ s.date = '2019-07-22'
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."
data/lib/chargebee.rb CHANGED
@@ -28,7 +28,7 @@ require File.dirname(__FILE__) + '/chargebee/models/download'
28
28
 
29
29
  module ChargeBee
30
30
 
31
- VERSION = '1.7.2'
31
+ VERSION = '1.7.3'
32
32
 
33
33
  @@default_env = nil
34
34
  @@verify_ca_certs = true
@@ -1,28 +1,28 @@
1
- require 'forwardable'
2
-
3
- module ChargeBee
4
- class ListResult
5
- extend Forwardable
6
- include Enumerable
7
-
8
- def_delegator :@list, :each, :each
9
- def_delegator :@list, :length, :length
10
-
11
- attr_reader :next_offset
12
-
13
- def initialize(response, next_offset=nil)
14
- @response = response
15
- @list = Array.new
16
- @next_offset = JSON.parse(next_offset).to_s if next_offset
17
- initItems()
18
- end
19
-
20
- private
21
- def initItems()
22
- @response.each do |item|
23
- @list.push(Result.new(item))
24
- end
25
- end
26
-
27
- end
28
- end
1
+ require 'forwardable'
2
+
3
+ module ChargeBee
4
+ class ListResult
5
+ extend Forwardable
6
+ include Enumerable
7
+
8
+ def_delegator :@list, :each, :each
9
+ def_delegator :@list, :length, :length
10
+
11
+ attr_reader :next_offset
12
+
13
+ def initialize(response, next_offset=nil)
14
+ @response = response
15
+ @list = Array.new
16
+ @next_offset = JSON.parse(next_offset).to_s if next_offset
17
+ initItems()
18
+ end
19
+
20
+ private
21
+ def initItems()
22
+ @response.each do |item|
23
+ @list.push(Result.new(item))
24
+ end
25
+ end
26
+
27
+ end
28
+ end
@@ -1,9 +1,9 @@
1
1
  module ChargeBee
2
2
  class Card < Model
3
3
 
4
- attr_accessor :customer_id, :status, :gateway, :first_name, :last_name, :iin, :last4, :card_type,
4
+ attr_accessor :status, :gateway, :reference_id, :first_name, :last_name, :iin, :last4, :card_type,
5
5
  :expiry_month, :expiry_year, :billing_addr1, :billing_addr2, :billing_city, :billing_state_code,
6
- :billing_state, :billing_country, :billing_zip, :ip_address, :masked_number
6
+ :billing_state, :billing_country, :billing_zip, :ip_address, :customer_id, :masked_number
7
7
 
8
8
  # OPERATIONS
9
9
  #-----------
@@ -16,6 +16,10 @@ module ChargeBee
16
16
  Request.send('post', uri_path("customers",id.to_s,"credit_card"), params, env, headers)
17
17
  end
18
18
 
19
+ def self.update_card_for_customer_using_payment_intent(id, params, env=nil, headers={})
20
+ Request.send('post', uri_path("customers",id.to_s,"credit_card_using_payment_intent"), params, env, headers)
21
+ end
22
+
19
23
  def self.switch_gateway_for_customer(id, params, env=nil, headers={})
20
24
  Request.send('post', uri_path("customers",id.to_s,"switch_gateway"), params, env, headers)
21
25
  end
@@ -10,9 +10,9 @@ module ChargeBee
10
10
  end
11
11
 
12
12
  attr_accessor :id, :customer_id, :subscription_id, :payment_method, :reference_number, :gateway,
13
- :description, :type, :date, :amount, :id_at_gateway, :status, :error_code, :error_text, :voided_at,
14
- :void_description, :amount_unused, :masked_card_number, :reference_transaction_id, :refunded_txn_id,
15
- :reversal_transaction_id, :linked_invoices, :linked_refunds, :currency_code
13
+ :description, :type, :date, :currency_code, :amount, :id_at_gateway, :status, :initiator_type,
14
+ :three_d_secure, :error_code, :error_text, :voided_at, :void_description, :amount_unused, :masked_card_number,
15
+ :reference_transaction_id, :refunded_txn_id, :reversal_transaction_id, :linked_invoices, :linked_refunds
16
16
 
17
17
  # OPERATIONS
18
18
  #-----------
@@ -1,56 +1,56 @@
1
- module ChargeBee
2
- module Util
3
-
4
- def self.serialize(value, prefix = nil, idx = nil)
5
- serialized = {}
6
- case value
7
- when Hash
8
- value.each do |k, v|
9
- if(v.kind_of? Hash or v.kind_of? Array)
10
- serialized.merge!(serialize(v, k))
11
- else
12
- key = "#{(prefix!=nil) ? prefix:''}#{(prefix!=nil) ? '['+k.to_s+']' : k}#{(idx != nil) ? '['+idx.to_s+']':''}"
13
- serialized.merge!({key => as_str(v)})
14
- end
15
- end
16
- when Array
17
- value.each_with_index do |v, i|
18
- serialized.merge!(serialize(v, prefix, i))
19
- end
20
- else
21
- if(idx != nil and prefix != nil)
22
- key = "#{prefix}[#{idx.to_s}]"
23
- serialized.merge!({key => as_str(value)})
24
- else
25
- raise ArgumentError.new("only hash or arrays are allowed as value")
26
- end
27
- end
28
- serialized
29
- end
30
-
31
- def self.symbolize_keys(object)
32
- case object
33
- when Hash
34
- new = {}
35
- object.each do |key, value|
36
- key = (key.to_sym rescue key) || key
37
- new[key] = symbolize_keys(value)
38
- end
39
- new
40
- when Array
41
- object.map { |value| symbolize_keys(value) }
42
- else
43
- object
44
- end
45
- end
46
-
47
- def self.as_str(value)
48
- if(value == nil)
49
- return ''
50
- else
51
- return value.to_s
52
- end
53
- end
54
-
55
- end
56
- end
1
+ module ChargeBee
2
+ module Util
3
+
4
+ def self.serialize(value, prefix = nil, idx = nil)
5
+ serialized = {}
6
+ case value
7
+ when Hash
8
+ value.each do |k, v|
9
+ if(v.kind_of? Hash or v.kind_of? Array)
10
+ serialized.merge!(serialize(v, k))
11
+ else
12
+ key = "#{(prefix!=nil) ? prefix:''}#{(prefix!=nil) ? '['+k.to_s+']' : k}#{(idx != nil) ? '['+idx.to_s+']':''}"
13
+ serialized.merge!({key => as_str(v)})
14
+ end
15
+ end
16
+ when Array
17
+ value.each_with_index do |v, i|
18
+ serialized.merge!(serialize(v, prefix, i))
19
+ end
20
+ else
21
+ if(idx != nil and prefix != nil)
22
+ key = "#{prefix}[#{idx.to_s}]"
23
+ serialized.merge!({key => as_str(value)})
24
+ else
25
+ raise ArgumentError.new("only hash or arrays are allowed as value")
26
+ end
27
+ end
28
+ serialized
29
+ end
30
+
31
+ def self.symbolize_keys(object)
32
+ case object
33
+ when Hash
34
+ new = {}
35
+ object.each do |key, value|
36
+ key = (key.to_sym rescue key) || key
37
+ new[key] = symbolize_keys(value)
38
+ end
39
+ new
40
+ when Array
41
+ object.map { |value| symbolize_keys(value) }
42
+ else
43
+ object
44
+ end
45
+ end
46
+
47
+ def self.as_str(value)
48
+ if(value == nil)
49
+ return ''
50
+ else
51
+ return value.to_s
52
+ end
53
+ end
54
+
55
+ end
56
+ end