item_builder 0.1.46 → 0.1.47

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
  SHA256:
3
- metadata.gz: 67a534f744daba68c789abfd5d5d610ae94d858eea53f5ca82a37a49a73472ff
4
- data.tar.gz: d968255f6bb5badf8095be52d0592e9668903fa5257b6d9c1ea3a611f0e172a6
3
+ metadata.gz: 98c440176871d006bbd1ab07292696d7e779cffa64bdf097afcdcbb7fc9cb986
4
+ data.tar.gz: 1f3a2607695baa0e5d8767c06c6a007554d02c9390de6a597267871789dafcf9
5
5
  SHA512:
6
- metadata.gz: 2aeaabf7da717c6e7031dbdccf3c91dce6461f73a862a5a273ac45bce40f8b59c1a137b7b3eee0bad1129efe767c0081381507e354c8cd58b810bce6536bbfc6
7
- data.tar.gz: 296c74c78199a39cb9ae7624c74f5fa1c81504c33dad1627c04ac77515c6e7c24a61de4b7fc7195f845626d60bd524a54cb59768148853e3f0138a4f48a93642
6
+ metadata.gz: e7ad9a187205d4b5b8dab861d4b6e90261fc2348c90eabb8eb058bb944ab18b62508873b381effcb969c6600bc3657742ac615070a39e85be0cb2b33f2be8271
7
+ data.tar.gz: 35c72c9bbe5b5636c5494b0d72ff7fa54337383206c5f8b9b870ec647737164bcfcb4609f17bbfa9ce4fd73f3b259288f2df91958900f0c6dc0ba5d05ed9dd30
@@ -21,6 +21,7 @@ class ItemBuilder
21
21
  attr_reader :lazada_quantity
22
22
  attr_reader :zalora_reserved_stock
23
23
  attr_reader :shopify_inventory_location
24
+ attr_reader :wh_id
24
25
  def initialize(args)
25
26
  @listing = args.fetch(:listing)
26
27
  @wh_spaces = args.fetch(:wh_spaces, [])
@@ -35,6 +36,7 @@ class ItemBuilder
35
36
  @lazada_quantity = args.fetch(:lazada_quantity, [])
36
37
  @zalora_reserved_stock = args.fetch(:zalora_reserved_stock, [])
37
38
  @shopify_inventory_location = args.fetch(:shopify_inventory_location, [])
39
+ @wh_id = args.fetch(:wh_id, [])
38
40
  end
39
41
 
40
42
  def base
@@ -73,7 +75,11 @@ class ItemBuilder
73
75
  end
74
76
 
75
77
  def warehouse
76
- wh_spaces.select { |ws| ws.item_variant_id == listing.variant_id }.first
78
+ if wh_id.present?
79
+ wh_spaces.where(warehouse_id: wh_id).first
80
+ else
81
+ wh_spaces.select { |ws| ws.item_variant_id == listing.variant_id }.first
82
+ end
77
83
  end
78
84
 
79
85
  def variant
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class ItemBuilder
4
- VERSION = '0.1.46'
4
+ VERSION = '0.1.47'
5
5
  end
data/lib/item_builder.rb CHANGED
@@ -73,7 +73,7 @@ class ItemBuilder
73
73
  stock_allocs: stock_allocs, variant_listings: variant_listings,
74
74
  bundles: bundles, item_bundle_variants: item_bundle_variants,
75
75
  existing_alloc_stocks: existing_alloc_stocks,
76
- reserved_stocks: reserved_stocks
76
+ reserved_stocks: reserved_stocks, wh_id: wh_id
77
77
  }
78
78
  end
79
79
 
@@ -187,7 +187,7 @@ class ItemBuilder
187
187
  end
188
188
 
189
189
  def reserved_params
190
- "account_id=#{listings[0].profile_channel_association_id}
190
+ "account_id=#{account_id}
191
191
  &item_variant_ids=#{variant_ids.join(',')}"
192
192
  end
193
193
 
@@ -196,4 +196,18 @@ class ItemBuilder
196
196
  "#{order_host}?#{reserved_params}"
197
197
  ).body) if [3].include?(listings[0].channel_id)
198
198
  end
199
+
200
+ def wh_mapping
201
+ wh_mapping ||= WarehouseMapping.where(
202
+ profile_channel_association_id: account_id
203
+ ).first
204
+ end
205
+
206
+ def account_id
207
+ account_id ||= listings[0].profile_channel_association_id
208
+ end
209
+
210
+ def wh_id
211
+ @wh_id ||= wh_mapping&.warehouse_id
212
+ end
199
213
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: item_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.46
4
+ version: 0.1.47
5
5
  platform: ruby
6
6
  authors:
7
7
  - okaaryanata
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-06 00:00:00.000000000 Z
11
+ date: 2021-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler