solidus_me 2.1.1 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +2 -2
- data/app/models/solidus_me/shipping_estimator.rb +24 -3
- data/lib/solidus_me/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62dc6eb4a3e71567bda2d582a32a291159d9b89c76fed8719aec035d4668f3f3
|
4
|
+
data.tar.gz: c82e7fd2763ce627db6cba278036fa3b1f864363d89cab1a83720c7c8913382a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 455417c56401f745ac3c946531f7597930998808edefe1d9666c78decbe058ba1fa2d79b5dc4b28f348f57f9dcd046cee01447c30174b75c0067092b3aa4c81b
|
7
|
+
data.tar.gz: a7d939b072ad093ee5c59eb0760ceb2c6b2d1fcc357899d5ab0aa875ff4bfd2501bb723c2ddc26cbb44af540494c225be624ad4b87afa0a0925cbdb848820e43
|
data/Rakefile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "bundler/gem_tasks"
|
4
|
-
require "solidus_dev_support/rake_tasks"
|
5
|
-
SolidusDevSupport::RakeTasks.install
|
4
|
+
# require "solidus_dev_support/rake_tasks"
|
5
|
+
# SolidusDevSupport::RakeTasks.install
|
6
6
|
|
7
7
|
task default: "extension:specs"
|
@@ -2,7 +2,7 @@ module SolidusMe
|
|
2
2
|
class ShippingEstimator
|
3
3
|
def shipping_rates(package, _frontend_only = true)
|
4
4
|
@me_account = Account.first
|
5
|
-
return [] if @me_account.blank?
|
5
|
+
return [build_shipping_rate(default_rate, package)] if @me_account.blank?
|
6
6
|
|
7
7
|
@me_account.check_token
|
8
8
|
@me_client = MeApi::Client.new(@me_account.access_token)
|
@@ -23,15 +23,24 @@ module SolidusMe
|
|
23
23
|
private
|
24
24
|
|
25
25
|
def get_rates_from_melhor_envio(package)
|
26
|
-
weight = package.contents.map { |content| content.weight }.sum
|
27
26
|
price = package.contents.map { |content| content.price }.sum
|
27
|
+
weight = package.weight
|
28
|
+
|
29
|
+
variants = package.contents.map { |content| content.variant }
|
30
|
+
height_cm = height(variants)
|
31
|
+
width_cm = width(variants)
|
32
|
+
length_cm = length(variants)
|
33
|
+
|
28
34
|
zipcode = package.order.ship_address.zipcode
|
29
35
|
services = @me_account.services.blank? ? ["SEDEX", "PAC", "Mini Envios", ".Package", ".Com"] : @me_account.services
|
30
36
|
|
31
37
|
rates = @me_client.rates(
|
32
38
|
from: @me_account.postal_code_from,
|
33
39
|
to: zipcode,
|
34
|
-
weight_kg: (weight / 1000),
|
40
|
+
weight_kg: (weight / 1000.00),
|
41
|
+
height_cm: height_cm,
|
42
|
+
width_cm: width_cm,
|
43
|
+
length_cm: length_cm,
|
35
44
|
contents_value_brl: price
|
36
45
|
)
|
37
46
|
rates.select { |rate| rate.price > 0 && services.include?(rate.service_name) }
|
@@ -67,5 +76,17 @@ module SolidusMe
|
|
67
76
|
delivery_range: {"min" => 5, "max" => 5}
|
68
77
|
)
|
69
78
|
end
|
79
|
+
|
80
|
+
def height variants
|
81
|
+
variants.pluck(:height, :width, :depth).map(&:max).compact.max
|
82
|
+
end
|
83
|
+
|
84
|
+
def width variants
|
85
|
+
variants.pluck(:height, :width, :depth).map { |dimensions| dimensions.sort[1] }.compact.max
|
86
|
+
end
|
87
|
+
|
88
|
+
def length variants
|
89
|
+
variants.pluck(:height, :width, :depth).map(&:min).compact.sum
|
90
|
+
end
|
70
91
|
end
|
71
92
|
end
|
data/lib/solidus_me/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_me
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hamilton Tumenas Borges
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus_core
|
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: '0'
|
159
159
|
requirements: []
|
160
|
-
rubygems_version: 3.
|
160
|
+
rubygems_version: 3.5.10
|
161
161
|
signing_key:
|
162
162
|
specification_version: 4
|
163
163
|
summary: Gem para integração com a API do Melhor Envio
|