valken-shipping 2.0.7 → 2.1.2
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cacab064e89193c71c7ffa74746561806dd1c9deddf236d5265afe0ff6ffbf9a
|
|
4
|
+
data.tar.gz: 7f37d5f91091725b12bde5c42e2911153b8e567b3ac22a7cace9dcdfb1b9e30f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4016bbca645c3bcfbb45972f2e4658fb7bef550bc89ce877984992b64fa648800a10f5aff957358b857b36cd2c67ba976b1ed611fc18fe8a26e564c1bb3a7551
|
|
7
|
+
data.tar.gz: 5e24b58edbc20c129f7fb65cf06fe00add86a8bcecd8f9b0147856abc9041d6b1974f783f634982ac8f938eac5e66dbb70f72c3a91a1bd47e4aa9ec6f5bd84f4
|
|
@@ -41,6 +41,10 @@ module Workarea
|
|
|
41
41
|
|
|
42
42
|
return default_options(packaging.packages) if Workarea.config.gateways.ups_carrier.class == ActiveShipping::Workarea
|
|
43
43
|
|
|
44
|
+
if is_special_region?
|
|
45
|
+
return [get_shipping_for_special_region]
|
|
46
|
+
end
|
|
47
|
+
|
|
44
48
|
shipping_options_api = get_final_shipping_options(collect_carrier_data)
|
|
45
49
|
return [] if @error.present?
|
|
46
50
|
|
|
@@ -48,7 +52,7 @@ module Workarea
|
|
|
48
52
|
|
|
49
53
|
if Workarea.config.gateways.ups_carrier.class != ActiveShipping::Workarea
|
|
50
54
|
carrier_data.push(get_ltl_shipping)
|
|
51
|
-
carrier_data.push(get_free_shipping) if
|
|
55
|
+
carrier_data.push(get_free_shipping) if is_free_ship
|
|
52
56
|
else
|
|
53
57
|
return []
|
|
54
58
|
end
|
|
@@ -81,9 +85,10 @@ module Workarea
|
|
|
81
85
|
# If the carrier is ups then it will print ups data...or if carrier is fedex then prinnt fedex data...
|
|
82
86
|
# else if it is not both then choose cheapest price.
|
|
83
87
|
def collect_carrier_data
|
|
84
|
-
return get_ups_data
|
|
85
|
-
|
|
86
|
-
return
|
|
88
|
+
return get_ups_data
|
|
89
|
+
# Temporarily disabling fedex and cheaper
|
|
90
|
+
# return get_fedex_data if is_fedex
|
|
91
|
+
# return get_none_data unless is_ups && is_fedex
|
|
87
92
|
end
|
|
88
93
|
|
|
89
94
|
# UPS data.
|
|
@@ -150,6 +155,30 @@ module Workarea
|
|
|
150
155
|
)
|
|
151
156
|
end
|
|
152
157
|
|
|
158
|
+
def get_shipping_for_special_region
|
|
159
|
+
puts "weight_convertion",weight_convertion
|
|
160
|
+
weight_price = 0
|
|
161
|
+
case weight_convertion
|
|
162
|
+
when 0..50
|
|
163
|
+
weight_price = 50
|
|
164
|
+
when 50..200
|
|
165
|
+
weight_price = (1 * weight_convertion)
|
|
166
|
+
when 200..2500
|
|
167
|
+
weight_price = 200
|
|
168
|
+
else
|
|
169
|
+
weight_price = ((weight_convertion / 2500).ceil()) * 200
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
ShippingOption.new(
|
|
173
|
+
carrier: "LTL Shipping",
|
|
174
|
+
name: "Valken Standard",
|
|
175
|
+
sub_name: "3 - 5 Business Days",
|
|
176
|
+
service_code: "LTL01",
|
|
177
|
+
price: Money.new(weight_price * 100, "USD"),
|
|
178
|
+
tax_code: "TAX01"
|
|
179
|
+
)
|
|
180
|
+
end
|
|
181
|
+
|
|
153
182
|
# Returns the total weight.
|
|
154
183
|
def weight_convertion
|
|
155
184
|
packaging = Packaging.new(order, shipping)
|
|
@@ -252,7 +281,32 @@ module Workarea
|
|
|
252
281
|
product_carrier_type = product_details.map{ |item| item[:en][ground_ship_attribute] }.flatten
|
|
253
282
|
product_carrier_type.include?("true")
|
|
254
283
|
end
|
|
255
|
-
|
|
284
|
+
|
|
285
|
+
def is_special_region?
|
|
286
|
+
Workarea.config.special_region.include?(@shipping.address.region)
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
# if any of the product is NO FREE SHIPPING = TRUE then return false
|
|
290
|
+
# if free shipping config is then return true
|
|
291
|
+
# if user applies free shipping promo code then return true
|
|
292
|
+
def is_free_ship
|
|
293
|
+
free_ship_attribute = Workarea.config.shipping_attributes[:no_free_shipping]
|
|
294
|
+
product_carrier_type = product_details.map{ |item| item[:en][free_ship_attribute] }.flatten
|
|
295
|
+
return false if product_carrier_type.include?("true")
|
|
296
|
+
|
|
297
|
+
return true if Workarea.config.show_free_shipping
|
|
298
|
+
|
|
299
|
+
test_order = order.clone
|
|
300
|
+
test_shipping = shipping.clone
|
|
301
|
+
test_shipping.apply_shipping_service(get_free_shipping.to_h)
|
|
302
|
+
|
|
303
|
+
price_adjustments = Pricing.find_shipping_discounts(
|
|
304
|
+
test_order,
|
|
305
|
+
test_shipping
|
|
306
|
+
)
|
|
307
|
+
return price_adjustments.present? && price_adjustments.any?
|
|
308
|
+
end
|
|
309
|
+
|
|
256
310
|
def product_details
|
|
257
311
|
# product_attributes = @order.items.map(&:product_attributes)
|
|
258
312
|
|
|
@@ -5,7 +5,8 @@ Workarea::Configuration.define_fields do
|
|
|
5
5
|
default: {
|
|
6
6
|
'usa_only' => 'usa only',
|
|
7
7
|
'carrier_type' => 'Type',
|
|
8
|
-
'ground_shipping_only' => 'ground shipping only'
|
|
8
|
+
'ground_shipping_only' => 'ground shipping only',
|
|
9
|
+
'no_free_shipping' => 'no free shipping'
|
|
9
10
|
},
|
|
10
11
|
description: 'Mapping of product details keys with shipping logic. Note: This maps only the keys not the values.'
|
|
11
12
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: valken-shipping
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- sushmitha02
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-10-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|