squake 0.6.1 → 0.6.3
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/squake/calculation_with_pricing.rb +4 -1
- data/lib/squake/model/payment_method.rb +15 -0
- data/lib/squake/pricing.rb +5 -3
- data/lib/squake/response.rb +1 -0
- data/lib/squake/util.rb +2 -2
- data/lib/squake/version.rb +2 -2
- data/lib/squake.rb +2 -1
- metadata +34 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6317f90e774294d91b681c3138afa11cbe044d854d38d73a815c139b7dca471d
|
4
|
+
data.tar.gz: b3f8548d89eb454a576b79b010de2059e739e6ee81a614f4a5e47c55b69fec2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c56c1cc0ff2ba2be0aef2c63cd10874628e7865f6308795c69e04d4b17dd800af0a1ce75136ea0b4613a6821655e60d209b5aa96c5c1f71d87ddf72e1f95edf8
|
7
|
+
data.tar.gz: bd21c9f9a6b50a924817bdd79fe89cf4d3f308fde92dafa83796cca0cec3dc5833fbfb15a9010fdea0fd664bcf1059cbd32cc9bedd5605b8198eedfd2e3185e2
|
@@ -16,13 +16,15 @@ module Squake
|
|
16
16
|
carbon_unit: String,
|
17
17
|
expand: T::Array[String],
|
18
18
|
payment_link_return_url: T.nilable(String),
|
19
|
+
payment_method: T.nilable(Squake::Model::PaymentMethod),
|
19
20
|
client: Squake::Client,
|
20
21
|
request_id: T.nilable(String),
|
21
22
|
).returns(Squake::Return[Squake::Model::Pricing])
|
22
23
|
end
|
23
24
|
def self.quote(
|
24
25
|
items:, product:, currency: 'EUR', carbon_unit: 'gram',
|
25
|
-
expand: [], payment_link_return_url: nil,
|
26
|
+
expand: [], payment_link_return_url: nil, payment_method: nil,
|
27
|
+
client: Squake::Client.new, request_id: nil
|
26
28
|
)
|
27
29
|
# @TODO: add typed objects for all possible items. Until then, we allow either a Hash or a T::Struct
|
28
30
|
items = items.map do |item|
|
@@ -40,6 +42,7 @@ module Squake
|
|
40
42
|
carbon_unit: carbon_unit,
|
41
43
|
expand: expand,
|
42
44
|
payment_link_return_url: payment_link_return_url,
|
45
|
+
payment_method: payment_method&.serialize,
|
43
46
|
},
|
44
47
|
)
|
45
48
|
|
data/lib/squake/pricing.rb
CHANGED
@@ -17,15 +17,16 @@ module Squake
|
|
17
17
|
carbon_unit: T.nilable(String),
|
18
18
|
expand: T::Array[String],
|
19
19
|
payment_link_return_url: T.nilable(String),
|
20
|
+
payment_method: T.nilable(Squake::Model::PaymentMethod),
|
20
21
|
client: Squake::Client,
|
21
22
|
request_id: T.nilable(String),
|
22
23
|
).returns(Squake::Return[Squake::Model::Pricing])
|
23
24
|
end
|
24
|
-
def self.quote(
|
25
|
+
def self.quote(
|
25
26
|
product_id:, fixed_total: nil, currency: 'EUR', carbon_quantity: nil, carbon_unit: 'gram',
|
26
|
-
expand: [], payment_link_return_url: nil,
|
27
|
+
expand: [], payment_link_return_url: nil, payment_method: nil,
|
28
|
+
client: Squake::Client.new, request_id: nil
|
27
29
|
)
|
28
|
-
|
29
30
|
result = client.call(
|
30
31
|
path: ENDPOINT,
|
31
32
|
method: :get,
|
@@ -38,6 +39,7 @@ module Squake
|
|
38
39
|
carbon_unit: carbon_unit,
|
39
40
|
expand: expand,
|
40
41
|
payment_link_return_url: payment_link_return_url,
|
42
|
+
payment_method: payment_method&.serialize,
|
41
43
|
},
|
42
44
|
)
|
43
45
|
|
data/lib/squake/response.rb
CHANGED
data/lib/squake/util.rb
CHANGED
@@ -14,11 +14,11 @@ module Squake
|
|
14
14
|
params.map do |k, v|
|
15
15
|
case v
|
16
16
|
when Array
|
17
|
-
v.map {
|
17
|
+
v.map { "#{url_encode(k.to_s)}[]=#{url_encode(_1.to_s)}" }
|
18
18
|
else
|
19
19
|
"#{url_encode(k.to_s)}=#{url_encode(v.to_s)}" unless v.nil?
|
20
20
|
end
|
21
|
-
end.join('&')
|
21
|
+
end.flatten.compact.join('&')
|
22
22
|
end
|
23
23
|
|
24
24
|
# Encodes a string in a way that makes it suitable for use in a set of
|
data/lib/squake/version.rb
CHANGED
data/lib/squake.rb
CHANGED
@@ -3,9 +3,10 @@
|
|
3
3
|
|
4
4
|
require 'sorbet-runtime'
|
5
5
|
require 'oj'
|
6
|
+
require 'uri'
|
6
7
|
require 'net/http'
|
7
8
|
|
8
|
-
Dir[File.join(__dir__, './**/*', '*.rb')].each { require(
|
9
|
+
Dir[File.join(__dir__, './**/*', '*.rb')].each { |file_path| require(file_path) }
|
9
10
|
|
10
11
|
module Squake
|
11
12
|
# Don't freeze this constant, since we don't know what Oj is doing with the object under the hood
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: squake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SQUAKE
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-http
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: sorbet
|
42
|
+
name: sorbet-runtime
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: uri
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: base64
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: byebug
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +94,20 @@ dependencies:
|
|
80
94
|
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: logger
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: rspec
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -186,6 +214,7 @@ files:
|
|
186
214
|
- lib/squake/model/carbon_unit.rb
|
187
215
|
- lib/squake/model/items/base_type.rb
|
188
216
|
- lib/squake/model/items/private_jet/squake.rb
|
217
|
+
- lib/squake/model/payment_method.rb
|
189
218
|
- lib/squake/model/price.rb
|
190
219
|
- lib/squake/model/pricing.rb
|
191
220
|
- lib/squake/model/product.rb
|
@@ -218,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
247
|
- !ruby/object:Gem::Version
|
219
248
|
version: '0'
|
220
249
|
requirements: []
|
221
|
-
rubygems_version: 3.5.
|
250
|
+
rubygems_version: 3.5.16
|
222
251
|
signing_key:
|
223
252
|
specification_version: 4
|
224
253
|
summary: The industry solution for sustainable travel and logistics.
|