spree_zaez_correios 3.0.2 → 3.0.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/app/models/spree/calculator/shipping/correios_base_calculator.rb +3 -3
- data/app/models/spree/calculator/shipping/flat_percent_item_total_decorator.rb +7 -0
- data/app/models/spree/calculator/shipping/flat_rate_decorator.rb +6 -0
- data/app/models/spree/calculator/shipping/flexi_rate_decorator.rb +7 -0
- data/app/models/spree/calculator/shipping/per_item_decorator.rb +7 -0
- data/app/models/spree/calculator/shipping/price_sack_decorator.rb +7 -0
- data/app/models/spree/stock/estimator_decorator.rb +28 -0
- data/db/migrate/20150725181511_add_delivery_time_to_spree_shipping_rates.rb +5 -0
- data/spec/support/correios_shared_examples.rb +5 -5
- data/spree_zaez_correios.gemspec +1 -1
- metadata +8 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 61ae0c0c9884577fa417290e0f39c6b3a72b9b86
|
|
4
|
+
data.tar.gz: fdf8b78e672d0fc650b957d0ba423d5a2740a8d1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: abc07cf546ad3a9cd1360ef1f42c63b937a0961f4e52bf38a5964da270856789c22238117c324969296e21b1eff4f73fe4ec725affce69b761e8c7ed24bc8171
|
|
7
|
+
data.tar.gz: 52183607d0dbbcd2642529090345dbd1bf8d48f88e279246aba704b1dbe9bdae4fd5771c98aac9340312d55552045039dbe74889e919d3d01e53fadbe1547713
|
|
@@ -44,10 +44,10 @@ module Spree
|
|
|
44
44
|
return false if webservice.erro?
|
|
45
45
|
|
|
46
46
|
@delivery_time = webservice.prazo_entrega + preferred_additional_days
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
cost = webservice.valor + preferred_additional_value
|
|
48
|
+
{cost: cost, delivery_time: @delivery_time}
|
|
49
49
|
rescue
|
|
50
|
-
|
|
50
|
+
{}
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def has_contract?
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Spree::Stock::Estimator.class_eval do
|
|
2
|
+
|
|
3
|
+
# Override no metodo para poder salvar o tempo de entrega
|
|
4
|
+
def calculate_shipping_rates(package, ui_filter)
|
|
5
|
+
shipping_methods(package, ui_filter).map do |shipping_method|
|
|
6
|
+
response = shipping_method.calculator.compute(package)
|
|
7
|
+
cost = response[:cost]
|
|
8
|
+
delivery_time = response[:delivery_time]
|
|
9
|
+
|
|
10
|
+
tax_category = shipping_method.tax_category
|
|
11
|
+
if tax_category
|
|
12
|
+
tax_rate = tax_category.tax_rates.detect do |rate|
|
|
13
|
+
# If the rate's zone matches the order's zone, a positive adjustment will be applied.
|
|
14
|
+
# If the rate is from the default tax zone, then a negative adjustment will be applied.
|
|
15
|
+
# See the tests in shipping_rate_spec.rb for an example of this.d
|
|
16
|
+
rate.zone == order.tax_zone || rate.zone.default_tax?
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
if cost
|
|
21
|
+
rate = shipping_method.shipping_rates.new(cost: cost, delivery_time: delivery_time)
|
|
22
|
+
rate.tax_rate = tax_rate if tax_rate
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
rate
|
|
26
|
+
end.compact
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -57,7 +57,7 @@ shared_examples_for 'correios calculator' do
|
|
|
57
57
|
it 'should calculate shipping cost and delivery time' do
|
|
58
58
|
price, delivery_time = get_correios_price_and_value_for("http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?#{@default_query.to_query}")
|
|
59
59
|
|
|
60
|
-
expect(@calculator.compute_package(@package)).to eq(price)
|
|
60
|
+
expect(@calculator.compute_package(@package)[:cost]).to eq(price)
|
|
61
61
|
expect(@calculator.delivery_time).to eq(delivery_time)
|
|
62
62
|
end
|
|
63
63
|
|
|
@@ -75,7 +75,7 @@ shared_examples_for 'correios calculator' do
|
|
|
75
75
|
|
|
76
76
|
@calculator.preferred_additional_value = 10.0
|
|
77
77
|
|
|
78
|
-
expect(@calculator.compute_package(@package)).to eq(price + 10.0)
|
|
78
|
+
expect(@calculator.compute_package(@package)[:cost]).to eq(price + 10.0)
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
it 'should change price according to declared value' do
|
|
@@ -83,7 +83,7 @@ shared_examples_for 'correios calculator' do
|
|
|
83
83
|
price, delivery_time = get_correios_price_and_value_for("http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?#{query.to_query}")
|
|
84
84
|
|
|
85
85
|
@calculator.preferred_declared_value = true
|
|
86
|
-
expect(@calculator.compute_package(@package)).to eq(price)
|
|
86
|
+
expect(@calculator.compute_package(@package)[:cost]).to eq(price)
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
it 'should change price according to in hands' do
|
|
@@ -91,7 +91,7 @@ shared_examples_for 'correios calculator' do
|
|
|
91
91
|
price, delivery_time = get_correios_price_and_value_for("http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?#{query.to_query}")
|
|
92
92
|
|
|
93
93
|
@calculator.preferred_receive_in_hands = true
|
|
94
|
-
expect(@calculator.compute_package(@package)).to eq(price)
|
|
94
|
+
expect(@calculator.compute_package(@package)[:cost]).to eq(price)
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
it 'should change price according to receipt notification' do
|
|
@@ -99,7 +99,7 @@ shared_examples_for 'correios calculator' do
|
|
|
99
99
|
price, delivery_time = get_correios_price_and_value_for("http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?#{query.to_query}")
|
|
100
100
|
|
|
101
101
|
@calculator.preferred_receipt_notification = true
|
|
102
|
-
expect(@calculator.compute_package(@package)).to eq(price)
|
|
102
|
+
expect(@calculator.compute_package(@package)[:cost]).to eq(price)
|
|
103
103
|
end
|
|
104
104
|
end
|
|
105
105
|
end
|
data/spree_zaez_correios.gemspec
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Gem::Specification.new do |s|
|
|
3
3
|
s.platform = Gem::Platform::RUBY
|
|
4
4
|
s.name = 'spree_zaez_correios'
|
|
5
|
-
s.version = '3.0.
|
|
5
|
+
s.version = '3.0.3'
|
|
6
6
|
s.summary = "Implements diverse functions in order to enable the use of services from Brazil's Correios in Spree Commerce"
|
|
7
7
|
s.description = s.summary
|
|
8
8
|
s.required_ruby_version = '>= 2.0.0'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_zaez_correios
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Zaez Team
|
|
@@ -254,13 +254,20 @@ files:
|
|
|
254
254
|
- app/assets/stylesheets/spree/backend/spree_zaez_correios.css
|
|
255
255
|
- app/assets/stylesheets/spree/frontend/spree_zaez_correios.css
|
|
256
256
|
- app/models/spree/calculator/shipping/correios_base_calculator.rb
|
|
257
|
+
- app/models/spree/calculator/shipping/flat_percent_item_total_decorator.rb
|
|
258
|
+
- app/models/spree/calculator/shipping/flat_rate_decorator.rb
|
|
259
|
+
- app/models/spree/calculator/shipping/flexi_rate_decorator.rb
|
|
257
260
|
- app/models/spree/calculator/shipping/pac.rb
|
|
261
|
+
- app/models/spree/calculator/shipping/per_item_decorator.rb
|
|
262
|
+
- app/models/spree/calculator/shipping/price_sack_decorator.rb
|
|
258
263
|
- app/models/spree/calculator/shipping/sedex.rb
|
|
259
264
|
- app/models/spree/calculator/shipping/sedex10.rb
|
|
265
|
+
- app/models/spree/stock/estimator_decorator.rb
|
|
260
266
|
- bin/rails
|
|
261
267
|
- config/locales/en.yml
|
|
262
268
|
- config/locales/pt-br.yml
|
|
263
269
|
- config/routes.rb
|
|
270
|
+
- db/migrate/20150725181511_add_delivery_time_to_spree_shipping_rates.rb
|
|
264
271
|
- lib/generators/spree_zaez_correios/install/install_generator.rb
|
|
265
272
|
- lib/spree_zaez_correios.rb
|
|
266
273
|
- lib/spree_zaez_correios/engine.rb
|