lago-ruby-client 0.22.0.pre.beta → 0.26.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: 8eb23ebc5ddd504f45729b67b9eb4537a73c2e8189c2808dc99e3621307a3f6e
4
- data.tar.gz: c34da07855871bf2fc302ec65313291784ad79433aed0ad1e28fe2ef8b738ea8
3
+ metadata.gz: 6e204ff11a52c275e6661f589ea9791dac6b9a1cf604cb731691bd2007ecfd0b
4
+ data.tar.gz: f533db106525e5c8c16dd72c31bb94a1364a51252ecf78d0674211a28fd44082
5
5
  SHA512:
6
- metadata.gz: 18c7e45f3ea976906f7fa1449fe0f2b34fe0e921dbfa6d0efa7a558d379774e8580b3132abfd028233e50837d7c80d20f9e1be17532eea7ef663bbe0802e04ff
7
- data.tar.gz: c3d3978b16007e479eaadfef399fefa60f50faed739e413eb27777b83566c1dc4336d3225c76223950f0b7785527857088fb1b2cba66918709f465e27b8dc529
6
+ metadata.gz: 455198fd8c2dd377f2fb2e16cc03525cd9816fdd43684f26abb9bac75c9fcc09b3120284d90d0580f15e67f24a546d1f92c4ff48d77b452792fc30f4717eae33
7
+ data.tar.gz: 5422b9c42f5b25a6615390a11dd0dd7257eabeaf6c8eb82ddb826b952d96d6ddd38421bb7b4020ea35c8f3cd62d1c43fb1787ba7fca4bb09a81bd6d56d00b8e0
@@ -35,6 +35,10 @@ module Lago
35
35
  Lago::Api::Resources::Event.new(self)
36
36
  end
37
37
 
38
+ def fees
39
+ Lago::Api::Resources::Fee.new(self)
40
+ end
41
+
38
42
  def groups
39
43
  Lago::Api::Resources::Group.new(self)
40
44
  end
@@ -12,9 +12,9 @@ module Lago
12
12
  'applied_coupon'
13
13
  end
14
14
 
15
- def destroy(external_customer_id, coupon_code)
16
- path = "/api/v1/customers/#{external_customer_id}/coupons"
17
- response = connection.destroy(path, identifier: coupon_code)[root_name]
15
+ def destroy(external_customer_id, applied_coupon_id)
16
+ path = "/api/v1/customers/#{external_customer_id}/applied_coupons"
17
+ response = connection.destroy(path, identifier: applied_coupon_id)[root_name]
18
18
 
19
19
  JSON.parse(response.to_json, object_class: OpenStruct)
20
20
  end
@@ -43,6 +43,9 @@ module Lago
43
43
  result_hash[:billing_configuration] = config unless config.empty?
44
44
  end
45
45
 
46
+ metadata = whitelist_metadata(params[:metadata])
47
+ result_hash[:metadata] = metadata unless metadata.empty?
48
+
46
49
  { root_name => result_hash }
47
50
  end
48
51
 
@@ -54,8 +57,21 @@ module Lago
54
57
  :sync,
55
58
  :sync_with_provider,
56
59
  :vat_rate,
60
+ :document_locale,
57
61
  )
58
62
  end
63
+
64
+ def whitelist_metadata(metadata)
65
+ processed_metadata = []
66
+
67
+ metadata.each do |m|
68
+ result = (m || {}).slice(:id, :key, :value, :display_in_invoice)
69
+
70
+ processed_metadata << result unless result.empty?
71
+ end
72
+
73
+ processed_metadata
74
+ end
59
75
  end
60
76
  end
61
77
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lago
4
+ module Api
5
+ module Resources
6
+ class Fee < Base
7
+ def api_resource
8
+ 'fees'
9
+ end
10
+
11
+ def root_name
12
+ 'fee'
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -41,11 +41,26 @@ module Lago
41
41
  end
42
42
 
43
43
  def whitelist_params(params)
44
- {
45
- root_name => {
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
@@ -39,6 +39,7 @@ module Lago
39
39
  :invoice_footer,
40
40
  :invoice_grace_period,
41
41
  :vat_rate,
42
+ :document_locale,
42
43
  )
43
44
  end
44
45
  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.22.0-beta'
4
+ VERSION = '0.26.0-beta'
5
5
  end
@@ -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.22.0.pre.beta
4
+ version: 0.26.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-02-09 00:00:00.000000000 Z
11
+ date: 2023-03-13 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
- - AGPL-3.0
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