killbill-client 0.9.0 → 0.10.0

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: 96cc71d303e68611682238a7598d2bf64bae239c
4
- data.tar.gz: 9b332dde08744a67b6ac58e08627ce07c4f60a6b
3
+ metadata.gz: 75bf7d59e96e17a390cffc8edfb8ab7f90065d45
4
+ data.tar.gz: e7c652361b59eec8d6652fff1e9121791e00399d
5
5
  SHA512:
6
- metadata.gz: 14b8eb15f87a37a3002c084ee3fcf0320aac6468aca087984408567f87158a352a13a1aba6a12b755bcd43812a63a4cafead20aa23df00d800b7ffa3cb7116e1
7
- data.tar.gz: 039f902f30852e7ad03d91075534cc22c011fbca6d5f8006e09f14a979a216d8c09585f28fd717cf0f25549858ff1ebdc8930aa31854c93f0e7915a037ac0324
6
+ metadata.gz: 57412421f060377af41b315788714decf20a9c76fcbe2aa3222fd784ad03d848371ca72e0e846887523d147f2021fb46d0a4f8322296101bfd9cc5f56aec7726
7
+ data.tar.gz: 862723977d20540820b53c2d3c26ad3665cdac65d133b53850d8b8868cafdea5c0993cdc83a8989635d57f8534b99bccc9a1b98f6fcca3c5c7c2999f7425eb04
@@ -89,7 +89,7 @@ module KillBillClient
89
89
  request['Accept'] = options[:accept]
90
90
  end
91
91
  if options[:body]
92
- request['Content-Type'] = content_type
92
+ request['Content-Type'] = options[:content_type] || content_type
93
93
  request.body = options[:body]
94
94
  end
95
95
  if options[:etag]
@@ -28,6 +28,38 @@ module KillBillClient
28
28
  options,
29
29
  PlanDetail
30
30
  end
31
+
32
+ def get_tenant_catalog(options = {})
33
+ if options[:api_key].nil? || options[:api_secret].nil?
34
+ raise ArgumentError, "Retrieving a catalog is only supported in multi-tenant mode"
35
+ end
36
+
37
+ get KILLBILL_API_CATALOG_PREFIX,
38
+ {},
39
+ {
40
+ :head => {'Accept' => 'application/xml'},
41
+ }.merge(options)
42
+ end
43
+
44
+ def upload_tenant_catalog(catalog_xml, user = nil, reason = nil, comment = nil, options = {})
45
+ if options[:api_key].nil? || options[:api_secret].nil?
46
+ raise ArgumentError, "Uploading a catalog is only supported in multi-tenant mode"
47
+ end
48
+
49
+ post KILLBILL_API_CATALOG_PREFIX,
50
+ catalog_xml,
51
+ {
52
+ },
53
+ {
54
+ :head => {'Accept' => 'application/xml'},
55
+ :content_type => 'application/xml',
56
+ :user => user,
57
+ :reason => reason,
58
+ :comment => comment,
59
+ }.merge(options)
60
+ get_tenant_catalog(options)
61
+ end
62
+
31
63
  end
32
64
  end
33
65
  end
@@ -20,6 +20,7 @@ require 'killbill_client/models/subscription'
20
20
  require 'killbill_client/models/bundle'
21
21
  require 'killbill_client/models/account'
22
22
  require 'killbill_client/models/invoice'
23
+ require 'killbill_client/models/overdue'
23
24
  require 'killbill_client/models/transaction'
24
25
  require 'killbill_client/models/invoice_payment'
25
26
  require 'killbill_client/models/payment'
@@ -0,0 +1,34 @@
1
+ module KillBillClient
2
+ module Model
3
+ class Overdue < OverdueStateAttributes
4
+
5
+ KILLBILL_API_OVERDUE_PREFIX = "#{KILLBILL_API_PREFIX}/overdue"
6
+
7
+ class << self
8
+ def get_tenant_overdue_config(options = {})
9
+ get KILLBILL_API_OVERDUE_PREFIX,
10
+ {},
11
+ {
12
+ :head => {'Accept' => 'application/xml'},
13
+ }.merge(options)
14
+ end
15
+
16
+ def upload_tenant_overdue_config(overdue_config_xml, user = nil, reason = nil, comment = nil, options = {})
17
+ post KILLBILL_API_OVERDUE_PREFIX,
18
+ overdue_config_xml,
19
+ {
20
+ },
21
+ {
22
+ :head => {'Accept' => 'application/xml'},
23
+ :content_type => 'application/xml',
24
+ :user => user,
25
+ :reason => reason,
26
+ :comment => comment,
27
+ }.merge(options)
28
+ get_tenant_overdue_config(options)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+
@@ -57,19 +57,25 @@ module KillBillClient
57
57
  # @param response [Net::HTTPResponse]
58
58
  def from_response(resource_class, response)
59
59
  case response['Content-Type']
60
- when %r{application/pdf}
61
- when %r{text/html}
62
- when %r{text/plain}
63
- response.body
64
- when %r{application/json}
65
- record = from_json resource_class, response.body
66
- if record.nil?
67
- record = resource_class.new
68
- record.uri = response.header['location']
69
- end
60
+ when %r{application/pdf}
61
+ when %r{text/html}
62
+ when %r{text/plain}
63
+ response.body
64
+ when %r{application/xml}
65
+ if response.header['location']
66
+ response.header['location']
67
+ else
68
+ response.body
69
+ end
70
+ when %r{application/json}
71
+ record = from_json resource_class, response.body
72
+ if record.nil?
73
+ record = resource_class.new
74
+ record.uri = response.header['location']
75
+ end
70
76
 
71
- session_id = extract_session_id(response)
72
- record.instance_eval {
77
+ session_id = extract_session_id(response)
78
+ record.instance_eval {
73
79
  @clazz = resource_class
74
80
  @etag = response['ETag']
75
81
  @session_id = session_id
@@ -77,10 +83,10 @@ module KillBillClient
77
83
  @pagination_total_nb_records = response['X-Killbill-Pagination-TotalNbRecords'].to_i unless response['X-Killbill-Pagination-TotalNbRecords'].nil?
78
84
  @pagination_next_page = response['X-Killbill-Pagination-NextPageUri']
79
85
  @response = response
80
- }
81
- record
82
- else
83
- raise ArgumentError, "#{response['Content-Type']} is not supported by the library"
86
+ }
87
+ record
88
+ else
89
+ raise ArgumentError, "#{response['Content-Type']} is not supported by the library"
84
90
  end
85
91
  end
86
92
 
@@ -1,7 +1,7 @@
1
1
  module KillBillClient
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 9
4
+ MINOR = 10
5
5
  PATCH = 0
6
6
  PRE = nil
7
7
 
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Killbill core team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-21 00:00:00.000000000 Z
11
+ date: 2014-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 10.0.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 10.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.12.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.12.0
55
55
  description: An API client library for Kill Bill.
@@ -58,8 +58,8 @@ executables: []
58
58
  extensions: []
59
59
  extra_rdoc_files: []
60
60
  files:
61
- - .gitignore
62
- - .travis.yml
61
+ - ".gitignore"
62
+ - ".travis.yml"
63
63
  - Gemfile
64
64
  - README.md
65
65
  - Rakefile
@@ -135,6 +135,7 @@ files:
135
135
  - lib/killbill_client/models/invoice_item.rb
136
136
  - lib/killbill_client/models/invoice_payment.rb
137
137
  - lib/killbill_client/models/models.rb
138
+ - lib/killbill_client/models/overdue.rb
138
139
  - lib/killbill_client/models/payment.rb
139
140
  - lib/killbill_client/models/payment_method.rb
140
141
  - lib/killbill_client/models/phase.rb
@@ -167,23 +168,23 @@ licenses:
167
168
  metadata: {}
168
169
  post_install_message:
169
170
  rdoc_options:
170
- - --exclude
171
- - .
171
+ - "--exclude"
172
+ - "."
172
173
  require_paths:
173
174
  - lib
174
175
  required_ruby_version: !ruby/object:Gem::Requirement
175
176
  requirements:
176
- - - '>='
177
+ - - ">="
177
178
  - !ruby/object:Gem::Version
178
179
  version: 1.8.6
179
180
  required_rubygems_version: !ruby/object:Gem::Requirement
180
181
  requirements:
181
- - - '>='
182
+ - - ">="
182
183
  - !ruby/object:Gem::Version
183
184
  version: '0'
184
185
  requirements: []
185
186
  rubyforge_project:
186
- rubygems_version: 2.0.3
187
+ rubygems_version: 2.2.2
187
188
  signing_key:
188
189
  specification_version: 4
189
190
  summary: Kill Bill client library.