lago-ruby-client 0.52.2.pre.beta → 0.54.0.pre.beta

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
  SHA256:
3
- metadata.gz: 5ae6bbe19cdae52cc8ec1e9e6c146ff8190c317adc1801c5d130a192678ebff5
4
- data.tar.gz: cdc030eee49b3adeb895783f561cfd434ffa91b6edebcaf5bccbc741209e0e83
3
+ metadata.gz: 82f57b891309f0553d8be68655bd29b7634a5464acd25211499b2a013ba3c3b5
4
+ data.tar.gz: 00b758c1f541e5bb89c291fb8b295c4b4d87c5ddc68a540315670e44e378d433
5
5
  SHA512:
6
- metadata.gz: 2638ab5b7f59540ac33a32cd412fea0065f174894e92840fa5daca7ca55ce53409ef4e19a2648afbdae1edd7685bd38af0820c21c164183fd991b46a6067f876
7
- data.tar.gz: 0cdbeb94a04aaf18f6f71a5c49f96ac25782be816979ea11051dffae4a16d5ea94d2ca2ee74e815d774652e7a62f24a32a4b9eefb31a3b32748689e0473684de
6
+ metadata.gz: e72ca1088c425f61450e5d9f4112a3fbb4195747f4d680c8b4030d0c123d141ef7c8b620438f43c84e1d9235478540eaba637181fb3d0b9f225c4451e314eb9e
7
+ data.tar.gz: 5f05badff7ee5333a988c2e45ec1e61911b017e8a2635327d7c8bdc3fb72cab0d046365c92e1f71369b9b9d8d409e6b8ac48362f556a230c98710dfe75f46a83
@@ -22,7 +22,7 @@ module Lago
22
22
  end
23
23
 
24
24
  def put(path = uri.path, identifier:, body:)
25
- uri_path = identifier.nil? ? path : "#{path}/#{identifier}"
25
+ uri_path = identifier.nil? ? path : "#{path}/#{URI.encode_www_form_component(identifier)}"
26
26
  response = http_client.send_request(
27
27
  'PUT',
28
28
  uri_path,
@@ -47,7 +47,7 @@ module Lago
47
47
 
48
48
  def destroy(path = uri.path, identifier:, options: nil)
49
49
  uri_path = path
50
- uri_path += "/#{identifier}" if identifier
50
+ uri_path += "/#{URI.encode_www_form_component(identifier)}" if identifier
51
51
  uri_path += "?#{URI.encode_www_form(options)}" unless options.nil?
52
52
  response = http_client.send_request(
53
53
  'DELETE',
@@ -46,9 +46,9 @@ module Lago
46
46
  "#{client.base_api_url}#{api_resource}/#{external_customer_id}/checkout_url",
47
47
  )
48
48
 
49
- response = connection.post(uri, identifier: nil)[root_name]
49
+ response = connection.post(uri)[root_name]
50
50
 
51
- JSON.parse(response.to_json, object_class: OpenStruct).checkout_url
51
+ JSON.parse(response.to_json, object_class: OpenStruct)
52
52
  end
53
53
 
54
54
  def whitelist_params(params)
@@ -88,6 +88,7 @@ module Lago
88
88
  (billing_params || {}).slice(
89
89
  :invoice_grace_period,
90
90
  :payment_provider,
91
+ :payment_provider_code,
91
92
  :provider_customer_id,
92
93
  :sync,
93
94
  :sync_with_provider,
@@ -41,14 +41,7 @@ module Lago
41
41
 
42
42
  def whitelist_batch_params(params)
43
43
  {
44
- root_name => {
45
- transaction_id: params[:transaction_id],
46
- external_customer_id: params[:external_customer_id],
47
- code: params[:code],
48
- timestamp: params[:timestamp],
49
- external_subscription_ids: params[:external_subscription_ids],
50
- properties: params[:properties],
51
- }.compact,
44
+ events: params[:events],
52
45
  }
53
46
  end
54
47
 
@@ -30,6 +30,8 @@ module Lago
30
30
  tax_identification_number: params[:tax_identification_number],
31
31
  timezone: params[:timezone],
32
32
  email_settings: params[:email_settings],
33
+ document_numbering: params[:document_numbering],
34
+ document_number_prefix: params[:document_number_prefix],
33
35
  }.compact
34
36
 
35
37
  whitelist_billing_configuration(params[:billing_configuration]).tap do |config|
@@ -13,17 +13,39 @@ module Lago
13
13
  end
14
14
 
15
15
  def whitelist_params(params)
16
- {
17
- root_name => {
18
- external_customer_id: params[:external_customer_id],
19
- rate_amount: params[:rate_amount],
20
- name: params[:name],
21
- paid_credits: params[:paid_credits],
22
- granted_credits: params[:granted_credits],
23
- currency: params[:currency],
24
- expiration_at: params[:expiration_at],
25
- }.compact,
26
- }
16
+ result_hash = {
17
+ external_customer_id: params[:external_customer_id],
18
+ rate_amount: params[:rate_amount],
19
+ name: params[:name],
20
+ paid_credits: params[:paid_credits],
21
+ granted_credits: params[:granted_credits],
22
+ currency: params[:currency],
23
+ expiration_at: params[:expiration_at],
24
+ }.compact
25
+
26
+ recurring_rules = whitelist_recurring_rules(params[:recurring_transaction_rules])
27
+ result_hash[:recurring_transaction_rules] = recurring_rules unless recurring_rules.empty?
28
+
29
+ { root_name => result_hash }
30
+ end
31
+
32
+ def whitelist_recurring_rules(rules)
33
+ processed_rules = []
34
+
35
+ (rules || []).each do |r|
36
+ result = (r || {}).slice(
37
+ :lago_id,
38
+ :paid_credits,
39
+ :granted_credits,
40
+ :rule_type,
41
+ :threshold_credits,
42
+ :interval,
43
+ )
44
+
45
+ processed_rules << result unless result.empty?
46
+ end
47
+
48
+ processed_rules
27
49
  end
28
50
  end
29
51
  end
data/lib/lago/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lago
4
- VERSION = '0.52.2-beta'
4
+ VERSION = '0.54.0-beta'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lago-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.52.2.pre.beta
4
+ version: 0.54.0.pre.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lovro Colic
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-29 00:00:00.000000000 Z
11
+ date: 2024-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- description:
125
+ description:
126
126
  email:
127
127
  - lovro@getlago.com
128
128
  executables: []
@@ -164,7 +164,7 @@ metadata:
164
164
  homepage_uri: https://www.getlago.com/
165
165
  source_code_uri: https://github.com/getlago/lago-ruby-client
166
166
  documentation_uri: https://doc.getlago.com
167
- post_install_message:
167
+ post_install_message:
168
168
  rdoc_options: []
169
169
  require_paths:
170
170
  - lib
@@ -179,8 +179,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  - !ruby/object:Gem::Version
180
180
  version: 1.3.1
181
181
  requirements: []
182
- rubygems_version: 3.0.3.1
183
- signing_key:
182
+ rubygems_version: 3.4.6
183
+ signing_key:
184
184
  specification_version: 4
185
185
  summary: Lago Rest API client
186
186
  test_files: []