tiny_builder 0.1.5 → 0.1.7

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: e6e72393edf590d64170463bb902ef10364d2fcd73871c5111238b8c87a81575
4
- data.tar.gz: 1a027727d7605a861ba497b272a2c507f3fbc0f990d189062013f9c553cee952
3
+ metadata.gz: e20c10255db94b0cf6230a515694e43f4610ac3831fc74156fe35569cc08eeec
4
+ data.tar.gz: 4488169a21ca18332eb190ff34bf359a2b1fd1790567574235133d8bda486262
5
5
  SHA512:
6
- metadata.gz: 490a2488e35ae1335517c3b816aa92ec1afe06a80b7c0d09df22c64b8610b886afc00e21b9d2db1b8dae701f831856eb188cc0d31d3f894327a7f5c921c0073f
7
- data.tar.gz: 14725fbd72d5e24b15e32876bf06714c8d8dd1c1ad03c086fa8e900133316af0a7cee029e447b16083189f0eb1ae62038b9dd179257d0888ed9e0efef1b79b1e
6
+ metadata.gz: e96b6ee2cf58f9a104298d30ab1d96881a8d559029daff97a766cf7e91268848759f32b8274a28a42f62624b772b998a0148e66950dbccdff8b05d5ffca6c270
7
+ data.tar.gz: 3311798b4728533192c05f00670f8d02eefae4c4b380370a9002a4e969663496e6fea0a323c8939bda8922ac6e682ee0286ec447abfbf62ca76f828bb2a88631
@@ -7,7 +7,7 @@ class MongoVariantListing
7
7
  store_in collection: 'variant_listings'
8
8
 
9
9
  def local_item_id
10
- item_listing&.local_id
10
+ item_listing&.local_id rescue local_id
11
11
  end
12
12
 
13
13
  def item_listing
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Allocation
4
+ include Mongoid::Document
5
+ include Mongoid::Attributes::Dynamic
6
+
7
+ store_in collection: 'warehouse_space_allocations', client: 'inventory'
8
+
9
+ belongs_to :warehouse_space, class_name: 'MongoWarehouseSpace'
10
+ end
@@ -45,7 +45,7 @@ class TinyBuilder
45
45
 
46
46
  def collect_associated_listings
47
47
  data = []
48
- MongoVariantListing.in(master_variant_id: variant_ids).each do |listing|
48
+ MongoVariantListing.in(master_variant_id: variant_ids).where(:local_id.exists => true).each do |listing|
49
49
  begin
50
50
  listing.icava_id
51
51
  data << listing
@@ -83,7 +83,7 @@ class TinyBuilder
83
83
  ]
84
84
  end.to_h
85
85
  end
86
-
86
+
87
87
  def get_mongo_wh_spaces
88
88
  spaces = []
89
89
  MongoWarehouseSpace.in(item_variant_id: variant_ids).where(:warehouse_id.exists => true).each do |ws|
@@ -22,11 +22,12 @@ class TinyBuilder
22
22
  end
23
23
 
24
24
  def warehouse_prices(listing)
25
- [
25
+ multi_warehouse_spaces(listing).map do |wh_space|
26
26
  {
27
- warehouse_id: 'no-wh-for-price'
27
+ id: wh_space&.warehouse_id,
28
+ warehouse_id: mapped_wh_mappings[wh_space.warehouse_id]
28
29
  }.merge(price_hash(listing))
29
- ]
30
+ end
30
31
  end
31
32
 
32
33
  def sale_price(listing)
@@ -19,6 +19,8 @@ class TinyBuilder
19
19
  end
20
20
 
21
21
  def perform
22
+ return 0 unless listing.active
23
+
22
24
  warehouse_stock
23
25
  end
24
26
 
@@ -36,7 +38,8 @@ class TinyBuilder
36
38
  def qty_default(wh_space)
37
39
  return [(wh_space&.quantity || 0), 0].max unless inventory_v2
38
40
 
39
- wh_space&.available_quantity + locked_qty(wh_space)
41
+ qty = (wh_space&.available_quantity || 0) + locked_qty(wh_space)
42
+ [qty, 0].max
40
43
  end
41
44
 
42
45
  def locked_qty(wh_space)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class TinyBuilder
4
- VERSION = '0.1.5'
4
+ VERSION = '0.1.7'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - hayakaza
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-08 00:00:00.000000000 Z
11
+ date: 2024-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -137,6 +137,7 @@ files:
137
137
  - lib/tiny_builder.rb
138
138
  - lib/tiny_builder/active_builder.rb
139
139
  - lib/tiny_builder/allocated_stock.rb
140
+ - lib/tiny_builder/allocation.rb
140
141
  - lib/tiny_builder/apigateway_helper.rb
141
142
  - lib/tiny_builder/base_builder.rb
142
143
  - lib/tiny_builder/data_loader.rb