chargebee 2.5.2 → 2.5.3

Sign up to get free protection for your applications and to get access to all the features.
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