chargebee 2.5.2 → 2.5.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: 24c6b6706aa4b352d3a41672c70f3c441bfc154a
4
- data.tar.gz: 768274c600cf3ee8a37eeacab319031048f36dc2
3
+ metadata.gz: 6259336f55b1189544a190d94410ac344ccf9ae6
4
+ data.tar.gz: 50345ffd27ae19df1064e16629dbaad2916e94a9
5
5
  SHA512:
6
- metadata.gz: c952854c476480bb0f1b9ed3503ba9455c30967b191831cf2220d09c09dfb015f42cd9a8a8a23bacfcd4202ef107631aee789171eccb95d4478a019fb659ef74
7
- data.tar.gz: 885d4f67c6187c07737cefef2c506c94b642d45c5ed179deaa5f76a29c53758a8ec9e9e2584b729645f652666945f3deb41b11a8f9964f74a532a7aaab30e839
6
+ metadata.gz: 3ef24894c3e4b21beafaa785caf1854dee518f82a35529da0c4adef54ae630d65a16f50588222435674d92c0a66d925ad5f7822867d32949ac209b732a914374
7
+ data.tar.gz: 8c0e08d7be51018bb8fbae7c5e14f259bb3c409edf1840fb4497f748557b500cf1ae2237da048e79c25448a724f2fb964018167b7de44a6fcd0ab16db1353c96
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ### v2.5.3 (2018-05-23)
2
+ * * *
3
+
4
+ * New Resource [Export](https://apidocs.chargebee.com/docs/api/exports) has been added
5
+ * New payment gateway bluesnap has been added
6
+
1
7
  ### v2.5.1 (2018-05-14)
2
8
  * * *
3
9
 
data/chargebee.gemspec CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.5'
5
5
  s.required_ruby_version = '>= 1.9.3'
6
6
  s.name = 'chargebee'
7
- s.version = '2.5.2'
8
- s.date = '2018-05-14'
7
+ s.version = '2.5.3'
8
+ s.date = '2018-05-23'
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."
@@ -51,6 +51,7 @@ Gem::Specification.new do |s|
51
51
  lib/chargebee/models/download.rb
52
52
  lib/chargebee/models/estimate.rb
53
53
  lib/chargebee/models/event.rb
54
+ lib/chargebee/models/export.rb
54
55
  lib/chargebee/models/hosted_page.rb
55
56
  lib/chargebee/models/invoice.rb
56
57
  lib/chargebee/models/invoice_estimate.rb
data/lib/chargebee.rb CHANGED
@@ -38,11 +38,12 @@ require File.dirname(__FILE__) + '/chargebee/models/unbilled_charge'
38
38
  require File.dirname(__FILE__) + '/chargebee/models/time_machine'
39
39
  require File.dirname(__FILE__) + '/chargebee/models/promotional_credit.rb'
40
40
  require File.dirname(__FILE__) + '/chargebee/models/virtual_bank_account.rb'
41
+ require File.dirname(__FILE__) + '/chargebee/models/export'
41
42
  require File.dirname(__FILE__) + '/chargebee/models/contact.rb'
42
43
 
43
44
  module ChargeBee
44
45
 
45
- VERSION = '2.5.2'
46
+ VERSION = '2.5.3'
46
47
 
47
48
  @@default_env = nil
48
49
  @@verify_ca_certs = true
@@ -3,13 +3,15 @@ module ChargeBee
3
3
  API_VERSION = "v2"
4
4
  # in seconds
5
5
  TIME_MACHINE_TIMEOUT = 3
6
+ EXPORT_TIMEOUT = 10
6
7
 
7
- attr_accessor :api_key, :site, :time_machine_sleeptime
8
+ attr_accessor :api_key, :site, :time_machine_sleeptime, :export_sleeptime
8
9
  attr_reader :api_endpoint
9
10
 
10
11
  def initialize(options)
11
12
  options[:time_machine_sleeptime] ||= TIME_MACHINE_TIMEOUT
12
- [:api_key, :site, :time_machine_sleeptime].each do |attr|
13
+ options[:export_sleeptime] ||= EXPORT_TIMEOUT
14
+ [:api_key, :site, :time_machine_sleeptime, :export_sleeptime].each do |attr|
13
15
  instance_variable_set "@#{attr}", options[attr]
14
16
  end
15
17
  if($CHARGEBEE_DOMAIN == nil)
@@ -0,0 +1,51 @@
1
+ module ChargeBee
2
+ class Export < Model
3
+
4
+ class Download < Model
5
+ attr_accessor :download_url, :valid_till
6
+ end
7
+
8
+ attr_accessor :operation_type, :mime_type, :status, :created_at, :id, :download
9
+ def wait_for_export_completion(env = nil, headers={})
10
+ env = env || ChargeBee.default_env
11
+ sleeptime = env.export_sleeptime
12
+
13
+ export_final = (1..30).inject(self) do |export|
14
+ break export if export.status != "in_process"
15
+ sleep(sleeptime)
16
+ self.class.retrieve(self.id, env, headers).export
17
+ end
18
+
19
+ # sync last fetched one with the current instance
20
+ new_values = export_final.instance_variable_get("@values")
21
+ self.instance_variable_set("@values", new_values)
22
+ self.load(new_values)
23
+
24
+ case export_final.status
25
+ when "in_process"
26
+ raise Error.new('Export is taking too long')
27
+ when "failed"
28
+ json_obj = Util.symbolize_keys(JSON.parse(self.error_json))
29
+ raise OperationFailedError.new(json_obj[:http_code], json_obj)
30
+ when "not_enabled", "_unknown"
31
+ raise Error.new("Export status is in wrong state #{self.status}")
32
+ end
33
+ end
34
+
35
+ # OPERATIONS
36
+ #-----------
37
+
38
+ def self.retrieve(id, env=nil, headers={})
39
+ Request.send('get', uri_path("exports",id.to_s), {}, env, headers)
40
+ end
41
+
42
+ def self.revenue_recognition(params, env=nil, headers={})
43
+ Request.send('post', uri_path("exports","revenue_recognition"), params, env, headers)
44
+ end
45
+
46
+ def self.deferred_revenue(params, env=nil, headers={})
47
+ Request.send('post', uri_path("exports","deferred_revenue"), params, env, headers)
48
+ end
49
+
50
+ end # ~Export
51
+ end # ~ChargeBee
@@ -166,6 +166,12 @@ module ChargeBee
166
166
  return time_machine;
167
167
  end
168
168
 
169
+ def export()
170
+ export = get(:export, Export,
171
+ {:download => Export::Download});
172
+ return export;
173
+ end
174
+
169
175
 
170
176
  def unbilled_charges()
171
177
  unbilled_charges = get_list(:unbilled_charges, UnbilledCharge,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chargebee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.2
4
+ version: 2.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rajaraman S
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-05-14 00:00:00.000000000 Z
12
+ date: 2018-05-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json_pure
@@ -106,6 +106,7 @@ files:
106
106
  - lib/chargebee/models/download.rb
107
107
  - lib/chargebee/models/estimate.rb
108
108
  - lib/chargebee/models/event.rb
109
+ - lib/chargebee/models/export.rb
109
110
  - lib/chargebee/models/hosted_page.rb
110
111
  - lib/chargebee/models/invoice.rb
111
112
  - lib/chargebee/models/invoice_estimate.rb