lago-ruby-client 0.23.0.pre.beta → 0.27.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 +4 -4
- data/lib/lago/api/client.rb +4 -0
- data/lib/lago/api/resources/customer.rb +25 -0
- data/lib/lago/api/resources/event.rb +22 -4
- data/lib/lago/api/resources/fee.rb +17 -0
- data/lib/lago/api/resources/invoice.rb +19 -4
- data/lib/lago/api/resources/organization.rb +1 -0
- data/lib/lago/version.rb +1 -1
- data/lib/lago-ruby-client.rb +1 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c7e6bca3327173d541f187c6fd1681de16a8ded711e91f6ce16afa62d432d95
|
4
|
+
data.tar.gz: 5f8154c8a9bcdf2b5b404dee32088dee9210fc9eebac14807bb4d6ff9b837174
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab74a11d2c06c5a0dbac928d443a7bfc477d7f6953f69eea1c628c1766b5d68eea2f4b41b7b6a59d18d58f31997d0215d9bbd7cbb8ef9fab4daada80c6f38659
|
7
|
+
data.tar.gz: a403f2aa1f16153987146b43f209e00c7476229efeb915eb15f2756c4af384f6b64434c38b3d153c9b12eecc7e9d989dbbe488461c0c3d106079e7ee1c0f1567
|
data/lib/lago/api/client.rb
CHANGED
@@ -19,6 +19,16 @@ module Lago
|
|
19
19
|
connection.get(uri, identifier: nil)
|
20
20
|
end
|
21
21
|
|
22
|
+
def portal_url(external_customer_id)
|
23
|
+
uri = URI(
|
24
|
+
"#{client.base_api_url}#{api_resource}/#{external_customer_id}/portal_url"
|
25
|
+
)
|
26
|
+
|
27
|
+
response = connection.get(uri, identifier: nil)[root_name]
|
28
|
+
|
29
|
+
JSON.parse(response.to_json, object_class: OpenStruct).portal_url
|
30
|
+
end
|
31
|
+
|
22
32
|
def whitelist_params(params)
|
23
33
|
result_hash = {
|
24
34
|
external_id: params[:external_id],
|
@@ -43,6 +53,9 @@ module Lago
|
|
43
53
|
result_hash[:billing_configuration] = config unless config.empty?
|
44
54
|
end
|
45
55
|
|
56
|
+
metadata = whitelist_metadata(params[:metadata])
|
57
|
+
result_hash[:metadata] = metadata unless metadata.empty?
|
58
|
+
|
46
59
|
{ root_name => result_hash }
|
47
60
|
end
|
48
61
|
|
@@ -57,6 +70,18 @@ module Lago
|
|
57
70
|
:document_locale,
|
58
71
|
)
|
59
72
|
end
|
73
|
+
|
74
|
+
def whitelist_metadata(metadata)
|
75
|
+
processed_metadata = []
|
76
|
+
|
77
|
+
metadata.each do |m|
|
78
|
+
result = (m || {}).slice(:id, :key, :value, :display_in_invoice)
|
79
|
+
|
80
|
+
processed_metadata << result unless result.empty?
|
81
|
+
end
|
82
|
+
|
83
|
+
processed_metadata
|
84
|
+
end
|
60
85
|
end
|
61
86
|
end
|
62
87
|
end
|
@@ -24,6 +24,13 @@ module Lago
|
|
24
24
|
connection.post(payload, uri)
|
25
25
|
end
|
26
26
|
|
27
|
+
def estimate_fees(params)
|
28
|
+
uri = URI("#{client.base_api_url}#{api_resource}/estimate_fees")
|
29
|
+
|
30
|
+
payload = whitelist_estimate_params(params)
|
31
|
+
connection.post(payload, uri)
|
32
|
+
end
|
33
|
+
|
27
34
|
def whitelist_params(params)
|
28
35
|
{
|
29
36
|
root_name => {
|
@@ -32,8 +39,8 @@ module Lago
|
|
32
39
|
code: params[:code],
|
33
40
|
timestamp: params[:timestamp],
|
34
41
|
external_subscription_id: params[:external_subscription_id],
|
35
|
-
properties: params[:properties]
|
36
|
-
}.compact
|
42
|
+
properties: params[:properties],
|
43
|
+
}.compact,
|
37
44
|
}
|
38
45
|
end
|
39
46
|
|
@@ -45,8 +52,19 @@ module Lago
|
|
45
52
|
code: params[:code],
|
46
53
|
timestamp: params[:timestamp],
|
47
54
|
external_subscription_ids: params[:external_subscription_ids],
|
48
|
-
properties: params[:properties]
|
49
|
-
}.compact
|
55
|
+
properties: params[:properties],
|
56
|
+
}.compact,
|
57
|
+
}
|
58
|
+
end
|
59
|
+
|
60
|
+
def whitelist_estimate_params(params)
|
61
|
+
{
|
62
|
+
root_name => {
|
63
|
+
code: params[:code],
|
64
|
+
external_customer_id: params[:external_customer_id],
|
65
|
+
external_subscription_id: params[:external_subscription_id],
|
66
|
+
properties: params[:properties],
|
67
|
+
}.compact,
|
50
68
|
}
|
51
69
|
end
|
52
70
|
end
|
@@ -41,11 +41,26 @@ module Lago
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def whitelist_params(params)
|
44
|
-
{
|
45
|
-
|
46
|
-
payment_status: params[:payment_status],
|
47
|
-
},
|
44
|
+
result = {
|
45
|
+
payment_status: params[:payment_status],
|
48
46
|
}
|
47
|
+
|
48
|
+
metadata = whitelist_metadata(params[:metadata])
|
49
|
+
result[:metadata] = metadata unless metadata.empty?
|
50
|
+
|
51
|
+
{ root_name => result }
|
52
|
+
end
|
53
|
+
|
54
|
+
def whitelist_metadata(metadata)
|
55
|
+
processed_metadata = []
|
56
|
+
|
57
|
+
metadata.each do |m|
|
58
|
+
result = (m || {}).slice(:id, :key, :value)
|
59
|
+
|
60
|
+
processed_metadata << result unless result.empty?
|
61
|
+
end
|
62
|
+
|
63
|
+
processed_metadata
|
49
64
|
end
|
50
65
|
end
|
51
66
|
end
|
@@ -25,6 +25,7 @@ module Lago
|
|
25
25
|
legal_name: params[:legal_name],
|
26
26
|
legal_number: params[:legal_number],
|
27
27
|
timezone: params[:timezone],
|
28
|
+
email_settings: params[:email_settings],
|
28
29
|
}.compact
|
29
30
|
|
30
31
|
whitelist_billing_configuration(params[:billing_configuration]).tap do |config|
|
data/lib/lago/version.rb
CHANGED
data/lib/lago-ruby-client.rb
CHANGED
@@ -20,6 +20,7 @@ require 'lago/api/resources/coupon'
|
|
20
20
|
require 'lago/api/resources/credit_note'
|
21
21
|
require 'lago/api/resources/customer'
|
22
22
|
require 'lago/api/resources/event'
|
23
|
+
require 'lago/api/resources/fee'
|
23
24
|
require 'lago/api/resources/group'
|
24
25
|
require 'lago/api/resources/invoice'
|
25
26
|
require 'lago/api/resources/organization'
|
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.
|
4
|
+
version: 0.27.0.pre.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lovro Colic
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jwt
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- lib/lago/api/resources/credit_note.rb
|
143
143
|
- lib/lago/api/resources/customer.rb
|
144
144
|
- lib/lago/api/resources/event.rb
|
145
|
+
- lib/lago/api/resources/fee.rb
|
145
146
|
- lib/lago/api/resources/group.rb
|
146
147
|
- lib/lago/api/resources/invoice.rb
|
147
148
|
- lib/lago/api/resources/organization.rb
|
@@ -153,7 +154,7 @@ files:
|
|
153
154
|
- lib/lago/version.rb
|
154
155
|
homepage: https://github.com/getlago/lago-ruby-client
|
155
156
|
licenses:
|
156
|
-
-
|
157
|
+
- MIT
|
157
158
|
metadata:
|
158
159
|
homepage_uri: https://www.getlago.com/
|
159
160
|
source_code_uri: https://github.com/getlago/lago-ruby-client
|