chargebee 2.3.1 → 2.3.2

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: 40718463b1b3f990d9e92f2c8c2e23d0fb3f8dff
4
- data.tar.gz: 5862b5ce054e1e4fb78ee689bf0d0bfd5b56756c
3
+ metadata.gz: 38fa6e24a19f0fcffb1a6718d2fd0a74ceb484c4
4
+ data.tar.gz: 48ff155207c90a59045befe673fcb526d3f8c064
5
5
  SHA512:
6
- metadata.gz: f3cdd1383b12cc6c4ceedaf65f5b635733b1db36dbd6b564dd32481081a90843f31dc1d4a3d80ebd8c71030691547f853b1c45d1008a46029faba259a1a2a2fb
7
- data.tar.gz: 516e88b13f16b2e936f25f67645834f0e8f34024d06c18663e95f11cfaafce95db433b20d01fd513f92ed009e4f53881651df809ae50211376a1c16131f28861
6
+ metadata.gz: 099cfe74e5bdfbb0060f9bef2c6915c9c62fdd3ed155ba7e6f8cb56a50f832b65f5322afabcf8c377909322097e61716e7383c1083d957b49a75b1fc263125d3
7
+ data.tar.gz: 0ac8f73639afd209f759be5ba50e200fb4589ca01960b753f4f3f126788ecd2194cb70516e9debc470ed3b7f48e5aa260de001a23cb3d7ba9fba01add26fdb90
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ### v2.3.2 (2017-07-26)
2
+ * * *
3
+
4
+ ** APIs added**:
5
+
6
+ The new resource 'Time Machine' has been added.
7
+
1
8
  ### v2.3.1 (2017-07-21)
2
9
  * * *
3
10
 
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.3.1'
8
- s.date = '2017-07-21'
7
+ s.version = '2.3.2'
8
+ s.date = '2017-07-26'
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."
@@ -62,6 +62,7 @@ Gem::Specification.new do |s|
62
62
  lib/chargebee/models/subscription.rb
63
63
  lib/chargebee/models/subscription_estimate.rb
64
64
  lib/chargebee/models/third_party_payment_method.rb
65
+ lib/chargebee/models/time_machine.rb
65
66
  lib/chargebee/models/transaction.rb
66
67
  lib/chargebee/models/unbilled_charge.rb
67
68
  lib/chargebee/request.rb
data/lib/chargebee.rb CHANGED
@@ -34,10 +34,11 @@ require File.dirname(__FILE__) + '/chargebee/models/site_migration_detail'
34
34
  require File.dirname(__FILE__) + '/chargebee/models/resource_migration'
35
35
  require File.dirname(__FILE__) + '/chargebee/models/payment_source'
36
36
  require File.dirname(__FILE__) + '/chargebee/models/unbilled_charge'
37
+ require File.dirname(__FILE__) + '/chargebee/models/time_machine'
37
38
 
38
39
  module ChargeBee
39
40
 
40
- VERSION = '2.3.1'
41
+ VERSION = '2.3.2'
41
42
 
42
43
  @@default_env = nil
43
44
  @@verify_ca_certs = true
@@ -1,11 +1,15 @@
1
1
  module ChargeBee
2
2
  class Environment
3
- API_VERSION = "v2"
4
- attr_accessor :api_key, :site
5
- attr_reader :api_endpoint
6
-
3
+ API_VERSION = "v2"
4
+ # in seconds
5
+ TIME_MACHINE_TIMEOUT = 3
6
+
7
+ attr_accessor :api_key, :site, :time_machine_sleeptime
8
+ attr_reader :api_endpoint
9
+
7
10
  def initialize(options)
8
- [:api_key, :site].each do |attr|
11
+ options[:time_machine_sleeptime] ||= TIME_MACHINE_TIMEOUT
12
+ [:api_key, :site, :time_machine_sleeptime].each do |attr|
9
13
  instance_variable_set "@#{attr}", options[attr]
10
14
  end
11
15
  if($CHARGEBEE_DOMAIN == nil)
@@ -18,6 +22,5 @@ module ChargeBee
18
22
  def api_url(url)
19
23
  url = @api_endpoint + url
20
24
  end
21
-
22
25
  end
23
26
  end
@@ -0,0 +1,47 @@
1
+ module ChargeBee
2
+ class TimeMachine < Model
3
+
4
+ attr_accessor :name, :time_travel_status, :genesis_time, :destination_time, :failure_code, :failure_reason,
5
+ :error_json
6
+ def wait_for_time_travel_completion(env = nil)
7
+ env = env || ChargeBee.default_env
8
+ sleeptime = env.time_machine_sleeptime
9
+
10
+ tm = (1..30).inject(self) do |time_machine|
11
+ break time_machine if time_machine.time_travel_status != "in_progress"
12
+ sleep(sleeptime)
13
+ self.class.retrieve(self.name, env).time_machine
14
+ end
15
+
16
+ # sync last fetched one with the current instance
17
+ new_values = tm.instance_variable_get("@values")
18
+ self.instance_variable_set("@values", new_values)
19
+ self.load(new_values)
20
+
21
+ case tm.time_travel_status
22
+ when "in_progress"
23
+ raise Error.new('The time travel is taking too much time')
24
+ when "failed"
25
+ json_obj = Util.symbolize_keys(JSON.parse(self.error_json))
26
+ raise OperationFailedError.new(json_obj[:http_code], json_obj)
27
+ when "not_enabled", "_unknown"
28
+ raise Error.new("Time travel status is in wrong state #{self.time_travel_status}")
29
+ end
30
+ end
31
+ # OPERATIONS
32
+ #-----------
33
+
34
+ def self.retrieve(id, env=nil, headers={})
35
+ Request.send('get', uri_path("time_machines",id.to_s), {}, env, headers)
36
+ end
37
+
38
+ def self.start_afresh(id, params={}, env=nil, headers={})
39
+ Request.send('post', uri_path("time_machines",id.to_s,"start_afresh"), params, env, headers)
40
+ end
41
+
42
+ def self.travel_forward(id, params={}, env=nil, headers={})
43
+ Request.send('post', uri_path("time_machines",id.to_s,"travel_forward"), params, env, headers)
44
+ end
45
+
46
+ end # ~TimeMachine
47
+ end # ~ChargeBee
@@ -141,6 +141,11 @@ module ChargeBee
141
141
  return resource_migration;
142
142
  end
143
143
 
144
+ def time_machine()
145
+ time_machine = get(:time_machine, TimeMachine);
146
+ return time_machine;
147
+ end
148
+
144
149
 
145
150
  def unbilled_charges()
146
151
  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.3.1
4
+ version: 2.3.2
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: 2017-07-21 00:00:00.000000000 Z
12
+ date: 2017-07-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json_pure
@@ -117,6 +117,7 @@ files:
117
117
  - lib/chargebee/models/subscription.rb
118
118
  - lib/chargebee/models/subscription_estimate.rb
119
119
  - lib/chargebee/models/third_party_payment_method.rb
120
+ - lib/chargebee/models/time_machine.rb
120
121
  - lib/chargebee/models/transaction.rb
121
122
  - lib/chargebee/models/unbilled_charge.rb
122
123
  - lib/chargebee/request.rb