spree_zaez_tnt_mercurio 3.0.1 → 3.0.2

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
  SHA1:
3
- metadata.gz: b6120bbc4b11e1faa0227ab3248eea24e4429dce
4
- data.tar.gz: f517de387fb8e5a1837876c8b511d018b05d4358
3
+ metadata.gz: ba68ab9165117c8288b562c5d69a9fd30e16a56e
4
+ data.tar.gz: 9f40076a39ede30a1f1e1793e3a101be3f29c526
5
5
  SHA512:
6
- metadata.gz: 287a20d61471473ae1b3cce67953053d610e0f72794ccd3d3a14502f96f326455ff3439b8d8565f3d03837123a8f5c826ece18949909da424274371538050b34
7
- data.tar.gz: 877f488988aa72477fcbce31b385b6086254fc97d241d2633218189e9c3428b39fb38e84308dc8416ff6630642592e8322e885cfafeda64cd5abbb0d1333a081
6
+ metadata.gz: d091d1de66c916a060a04eef96850efb838cb7d662b3ef6ab17d39ad226b4a68ce9f28c5de618308830db76b1a977b93a1b411930705b76c2be8fecc6afe1814
7
+ data.tar.gz: 476fe603c4111537f88588e6a04c04c6f9f7df69b48aa84620bbbb6fb6696f9400e2d362697b7f6dfb102a465413855022f5223e706c5fa1019f0b795e950ef2
@@ -0,0 +1,7 @@
1
+ Spree::Calculator::Shipping::FlatPercentItemTotal.class_eval do
2
+
3
+ def compute_package(package)
4
+ response = compute_from_price(total(package.contents))
5
+ {cost: response, delivery_time: nil}
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ Spree::Calculator::Shipping::FlatRate.class_eval do
2
+
3
+ def compute_package(package)
4
+ {cost: self.preferred_amount, delivery_time: nil}
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ Spree::Calculator::Shipping::FlexiRate.class_eval do
2
+
3
+ def compute_package(package)
4
+ response = compute_from_quantity(package.contents.sum(&:quantity))
5
+ {cost: response, delivery_time: nil}
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ Spree::Calculator::Shipping::PerItem.class_eval do
2
+
3
+ def compute_package(package)
4
+ response = compute_from_quantity(package.contents.sum(&:quantity))
5
+ {cost: response, delivery_time: nil}
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ Spree::Calculator::Shipping::PriceSack.class_eval do
2
+
3
+ def compute_package(package)
4
+ response = compute_from_price(total(package.contents))
5
+ {cost: response, delivery_time: nil}
6
+ end
7
+ end
@@ -34,9 +34,10 @@ module Spree
34
34
 
35
35
  @delivery_time = response[:calcula_frete_response][:out][:prazo_entrega].to_i + Spree::TntMercurioConfig.additional_days
36
36
 
37
- response[:calcula_frete_response][:out][:vl_total_frete].to_f + Spree::TntMercurioConfig.additional_value
37
+ cost = response[:calcula_frete_response][:out][:vl_total_frete].to_f + Spree::TntMercurioConfig.additional_value
38
+ {cost: cost, delivery_time: @delivery_time}
38
39
  rescue
39
- false
40
+ {}
40
41
  end
41
42
  end
42
43
  end
@@ -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
@@ -0,0 +1,5 @@
1
+ class AddDeliveryTimeToSpreeShippingRates < ActiveRecord::Migration
2
+ def change
3
+ add_column :spree_shipping_rates, :delivery_time, :integer
4
+ end
5
+ end
@@ -86,7 +86,7 @@ shared_examples_for 'tnt calculator' do
86
86
  savon.expects(:calcula_frete).with(message: @params).returns(fixture)
87
87
  response = calculator.compute_package(@package)
88
88
 
89
- expect(response).to eq(69.29)
89
+ expect(response[:cost]).to eq(69.29)
90
90
  expect(calculator.delivery_time).to eq(3)
91
91
 
92
92
  end
@@ -113,7 +113,7 @@ shared_examples_for 'tnt calculator' do
113
113
  savon.expects(:calcula_frete).with(message: @params).returns(fixture)
114
114
  response = calculator.compute_package(@package)
115
115
 
116
- expect(response).to eq(79.29)
116
+ expect(response[:cost]).to eq(79.29)
117
117
 
118
118
  # set value default after test
119
119
  Spree::TntMercurioConfig.additional_value = 0
@@ -132,7 +132,7 @@ shared_examples_for 'tnt calculator' do
132
132
  savon.expects(:calcula_frete).with(message: @params).returns(fixture)
133
133
  response = calculator.compute_package(@package)
134
134
 
135
- expect(response).to be false
135
+ expect(response).to eq Hash.new
136
136
  end
137
137
 
138
138
  it 'should return false if the credentials are invalid' do
@@ -152,7 +152,7 @@ shared_examples_for 'tnt calculator' do
152
152
 
153
153
  response = calculator.compute_package(@package)
154
154
 
155
- expect(response).to be false
155
+ expect(response).to eq Hash.new
156
156
  end
157
157
  end
158
158
 
@@ -2,7 +2,7 @@
2
2
  Gem::Specification.new do |s|
3
3
  s.platform = Gem::Platform::RUBY
4
4
  s.name = 'spree_zaez_tnt_mercurio'
5
- s.version = '3.0.1'
5
+ s.version = '3.0.2'
6
6
  s.summary = 'Implements diverse functions in order to enable the use of services from TNT Mercúrio in Spree Commerce'
7
7
  s.description = 'Implements diverse functions in order to enable the use of services from TNT Mercúrio in Spree Commerce'
8
8
  s.required_ruby_version = '>= 2.0.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_zaez_tnt_mercurio
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zaez Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-20 00:00:00.000000000 Z
11
+ date: 2015-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -282,15 +282,22 @@ files:
282
282
  - app/assets/stylesheets/spree/backend/spree_zaez_tnt_mercurio.css
283
283
  - app/assets/stylesheets/spree/frontend/spree_zaez_tnt_mercurio.css
284
284
  - app/controllers/spree/admin/tnt_mercurio_settings_controller.rb
285
+ - app/models/spree/calculator/shipping/flat_percent_item_total_decorator.rb
286
+ - app/models/spree/calculator/shipping/flat_rate_decorator.rb
287
+ - app/models/spree/calculator/shipping/flexi_rate_decorator.rb
288
+ - app/models/spree/calculator/shipping/per_item_decorator.rb
289
+ - app/models/spree/calculator/shipping/price_sack_decorator.rb
285
290
  - app/models/spree/calculator/shipping/tnt_mercurio_anc.rb
286
291
  - app/models/spree/calculator/shipping/tnt_mercurio_base_calculator.rb
287
292
  - app/models/spree/calculator/shipping/tnt_mercurio_rnc.rb
293
+ - app/models/spree/stock/estimator_decorator.rb
288
294
  - app/overrides/spree/admin/shared/sub_menu/_configuration/add_tnt_mercurio_settings_tab.html.erb.deface
289
295
  - app/views/spree/admin/tnt_mercurio_settings/edit.html.erb
290
296
  - bin/rails
291
297
  - config/locales/en.yml
292
298
  - config/locales/pt-br.yml
293
299
  - config/routes.rb
300
+ - db/migrate/20150725185732_add_delivery_time_to_spree_shipping_rates.rb
294
301
  - lib/generators/spree_zaez_tnt_mercurio/install/install_generator.rb
295
302
  - lib/spree/tnt_mercurio_configuration.rb
296
303
  - lib/spree_zaez_tnt_mercurio.rb