killbill 3.1.2 → 3.1.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: 9b3dc2f6f6f18ecb0b78208ee9b4866ab4e64135
4
- data.tar.gz: 67e7e0f1fc22c8bd8ac6f673226a281ee77a6d44
3
+ metadata.gz: 82a09a7d410fc5aff99f49e2ff2b4426e8b951b7
4
+ data.tar.gz: db04bda5377c39f74d59c7315056a859754c59cd
5
5
  SHA512:
6
- metadata.gz: a0a93615aea2fbfe61c7239ff7ebce66c6c281ee49f085b20f04718e0994fb32ecc02bc426150665c0e5a25ea1c5061f251bb3ea259780e29c5dd252f1be7373
7
- data.tar.gz: 54bf15ca7cf02ab75b3644da9bdb4101a04d58439b0d0deccf12736e3f4cc1231370cd29ae806d3293e205fa1a48b108a75a72060d179be97ccbb08b9a6e9033
6
+ metadata.gz: a98a498e8a8260ef655e34b48d5e2abcca0d5817e58d45ed6e853405ae8679f27a8891b4491211fe42ab7744c3c27a5b81697c6a36bb1d761e4fc9f7c1918e8b
7
+ data.tar.gz: 963f49b07a89afaaeb6fc4b584da8c61dabb7fc49ad417de918607af92f0da705b2e685e763260e3589bd1e94e2cda140463a452ab643a5fe6c544b069ca5172
data/NEWS CHANGED
@@ -1,3 +1,6 @@
1
+ 3.1.3
2
+ Minor change for non multi tenant environment
3
+
1
4
  3.1.2
2
5
  Make ActiveMerchant plugins multi-tenant
3
6
  Add support for ActiveMerchant integrations
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.2
1
+ 3.1.3
@@ -2,7 +2,7 @@
2
2
  <!--
3
3
  ~ Copyright 2014 The Billing Project, LLC
4
4
  ~
5
- ~ Ning licenses this file to you under the Apache License, version 2.0
5
+ ~ The Billing Project licenses this file to you under the Apache License, version 2.0
6
6
  ~ (the "License"); you may not use this file except in compliance with the
7
7
  ~ License. You may obtain a copy of the License at:
8
8
  ~
@@ -33,11 +33,19 @@ module Killbill
33
33
  end
34
34
 
35
35
  def self.from_kb_account_id(kb_account_id, kb_tenant_id)
36
- where('kb_account_id = ? AND kb_tenant_id = ? AND is_deleted = ?', kb_account_id, kb_tenant_id, false)
36
+ if kb_tenant_id.nil?
37
+ where('kb_account_id = ? AND is_deleted = ?', kb_account_id, false)
38
+ else
39
+ where('kb_account_id = ? AND kb_tenant_id = ? AND is_deleted = ?', kb_account_id, kb_tenant_id, false)
40
+ end
37
41
  end
38
42
 
39
43
  def self.from_kb_payment_method_id(kb_payment_method_id, kb_tenant_id)
40
- payment_methods = where('kb_payment_method_id = ? AND kb_tenant_id = ? AND is_deleted = ?', kb_payment_method_id, kb_tenant_id, false)
44
+ if kb_tenant_id.nil?
45
+ payment_methods = where('kb_payment_method_id = ? AND is_deleted = ?', kb_payment_method_id, false)
46
+ else
47
+ payment_methods = where('kb_payment_method_id = ? AND kb_tenant_id = ? AND is_deleted = ?', kb_payment_method_id, kb_tenant_id, false)
48
+ end
41
49
  raise "No payment method found for payment method #{kb_payment_method_id}" if payment_methods.empty?
42
50
  raise "Kill Bill payment method #{kb_payment_method_id} mapping to multiple active plugin payment methods" if payment_methods.size > 1
43
51
  payment_methods[0]
@@ -78,8 +86,13 @@ module Killbill
78
86
  def self.search_query(search_key, kb_tenant_id, offset = nil, limit = nil)
79
87
  t = self.arel_table
80
88
 
81
- query = t.where(search_where_clause(t, search_key).and(t[:kb_tenant_id].eq(kb_tenant_id)))
82
- .order(t[:id])
89
+ if kb_tenant_id.nil?
90
+ query = t.where(search_where_clause(t, search_key))
91
+ .order(t[:id])
92
+ else
93
+ query = t.where(search_where_clause(t, search_key).and(t[:kb_tenant_id].eq(kb_tenant_id)))
94
+ .order(t[:id])
95
+ end
83
96
 
84
97
  if offset.blank? and limit.blank?
85
98
  # true is for count distinct
@@ -60,8 +60,13 @@ module Killbill
60
60
  def self.search_query(api_call, search_key, kb_tenant_id, offset = nil, limit = nil)
61
61
  t = self.arel_table
62
62
 
63
- query = t.where(search_where_clause(t, search_key, api_call).and(t[:kb_tenant_id].eq(kb_tenant_id)))
64
- .order(t[:id])
63
+ if kb_tenant_id.nil?
64
+ query = t.where(search_where_clause(t, search_key, api_call))
65
+ .order(t[:id])
66
+ else
67
+ query = t.where(search_where_clause(t, search_key, api_call).and(t[:kb_tenant_id].eq(kb_tenant_id)))
68
+ .order(t[:id])
69
+ end
65
70
 
66
71
  if offset.blank? and limit.blank?
67
72
  # true is for count distinct
@@ -29,6 +29,12 @@ module Killbill
29
29
  end
30
30
 
31
31
  def self.do_find_candidate_transaction_for_refund(api_call, kb_payment_id, kb_tenant_id, amount_in_cents)
32
+
33
+ if kb_tenant_id.nil?
34
+ transactions = where('amount_in_cents >= ? AND api_call = ? AND kb_payment_id = ?', amount_in_cents, api_call, kb_payment_id)
35
+ else
36
+ transactions = where('amount_in_cents >= ? AND api_call = ? AND kb_tenant_id = ? AND kb_payment_id = ?', amount_in_cents, api_call, kb_tenant_id, kb_payment_id)
37
+ end
32
38
  # Find one successful charge which amount is at least the amount we are trying to refund
33
39
  transactions = where('amount_in_cents >= ? AND api_call = ? AND kb_tenant_id = ? AND kb_payment_id = ?', amount_in_cents, api_call, kb_tenant_id, kb_payment_id)
34
40
  raise "Unable to find transaction for payment #{kb_payment_id} and api_call #{api_call}" if transactions.size == 0
@@ -47,7 +53,11 @@ module Killbill
47
53
  private
48
54
 
49
55
  def self.transaction_from_kb_payment_id(api_call, kb_payment_id, kb_tenant_id, how_many)
50
- transactions = where('api_call = ? AND kb_tenant_id = ? AND kb_payment_id = ?', api_call, kb_tenant_id, kb_payment_id)
56
+ if kb_tenant_id.nil?
57
+ transactions = where('api_call = ? AND kb_payment_id = ?', api_call, kb_payment_id)
58
+ else
59
+ transactions = where('api_call = ? AND kb_tenant_id = ? AND kb_payment_id = ?', api_call, kb_tenant_id, kb_payment_id)
60
+ end
51
61
  raise "Unable to find transaction id for payment #{kb_payment_id}" if transactions.empty?
52
62
  if how_many == :single
53
63
  raise "Kill Bill payment #{kb_payment_id} mapping to multiple plugin transactions" if transactions.size > 1
@@ -310,7 +310,7 @@ module Killbill
310
310
  }
311
311
 
312
312
  # Retrieve the ActiveMerchant integration
313
- integration_module = ::ActiveMerchant::Billing::Integrations.const_get(@identifier.to_s.camelize)
313
+ integration_module = get_active_merchant_module
314
314
  service_class = integration_module.const_get('Helper')
315
315
  service = service_class.new(order, account, service_options)
316
316
 
@@ -353,7 +353,7 @@ module Killbill
353
353
  options = properties_to_hash(properties)
354
354
 
355
355
  # Retrieve the ActiveMerchant integration
356
- integration_module = ::ActiveMerchant::Billing::Integrations.const_get(@identifier.to_s.camelize)
356
+ integration_module = get_active_merchant_module
357
357
  service_class = integration_module.const_get('Notification')
358
358
  # notification is either a body or a query string
359
359
  service = service_class.new(notification, options)
@@ -453,6 +453,10 @@ module Killbill
453
453
  end
454
454
  properties
455
455
  end
456
+
457
+ def get_active_merchant_module
458
+ ::ActiveMerchant::Billing::Integrations.const_get(@identifier.to_s.camelize)
459
+ end
456
460
  end
457
461
  end
458
462
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kill Bill core team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-30 00:00:00.000000000 Z
11
+ date: 2014-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra