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

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
  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: []