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 +4 -4
- data/CHANGELOG.md +6 -0
- data/chargebee.gemspec +3 -2
- data/lib/chargebee.rb +2 -1
- data/lib/chargebee/environment.rb +4 -2
- data/lib/chargebee/models/export.rb +51 -0
- data/lib/chargebee/result.rb +6 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6259336f55b1189544a190d94410ac344ccf9ae6
|
4
|
+
data.tar.gz: 50345ffd27ae19df1064e16629dbaad2916e94a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ef24894c3e4b21beafaa785caf1854dee518f82a35529da0c4adef54ae630d65a16f50588222435674d92c0a66d925ad5f7822867d32949ac209b732a914374
|
7
|
+
data.tar.gz: 8c0e08d7be51018bb8fbae7c5e14f259bb3c409edf1840fb4497f748557b500cf1ae2237da048e79c25448a724f2fb964018167b7de44a6fcd0ab16db1353c96
|
data/CHANGELOG.md
CHANGED
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.
|
8
|
-
s.date = '2018-05-
|
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.
|
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
|
-
[:
|
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
|
data/lib/chargebee/result.rb
CHANGED
@@ -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.
|
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-
|
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
|