spree_pluggto 1.0.2 → 1.1.0

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: 7d193059ab2ed6d1cfb863dfa9fc0842aa6d0731adbaae0f91bc78e45002967d
4
- data.tar.gz: cff67abc75a19c8d09456f7f490b0a75621f9ac305ae1d1a598b5d754dcd26dc
3
+ metadata.gz: 3151266f39bf17151fe4fcad405380c1b546c24e66c39b55c7aa106122d4176a
4
+ data.tar.gz: 7c23f10f3f5e6945ee8170e6f3d050fc6891f708599fbb8d3ebf0c1ef75fe049
5
5
  SHA512:
6
- metadata.gz: eb67b2fc1559fb87796cb0ec92233cae15e3cf150cdca9bfa46e22cab205abcd1b03acdc274672984f87186b201095693d191d1c292d171da5e2467012628d7e
7
- data.tar.gz: e8954ddcf49516da3afe3100de2fc5168f120fcb976914e63f555a296e39bd3949f76a8b2a587fdbf703b514d6332ca014bee5a7f665556a2634955ddaa60b05
6
+ metadata.gz: '0184cda8e8bc2de80272f1ca98ef4f5973a7e0604d15f52616837c03cbb1d224b632f6a4ea5b7a5b3d71b5eab683b75828232f34b9a0041dbbb3d81ee0962965'
7
+ data.tar.gz: 12478c9f9548f2cb2b163a225e1278faeb00a8b063e2b2f34c1a7941e7b4ec20ffcff93c4006a993a8cba271d7dc1b86e2c614b8615994810df2d4ffc45aaebe
@@ -0,0 +1,8 @@
1
+ module SpreePluggto
2
+ class UpdateStockJob < ActiveJob::Base
3
+ def perform(variant_id)
4
+ variant = ::Spree::Variant.find(variant_id)
5
+ ::SpreePluggto::Api::Stock.update(variant)
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,19 @@
1
+ module SpreePluggto
2
+ module Spree
3
+ module StockItemDecorator
4
+
5
+ def self.prepended(base)
6
+ base.after_save :update_pluggto_stock
7
+ end
8
+
9
+ private
10
+
11
+ def update_pluggto_stock
12
+ return unless product.sync_with_pluggto?
13
+ ::SpreePluggto::UpdateStockJob.perform_later(variant_id)
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ Spree::StockItem.prepend(SpreePluggto::Spree::StockItemDecorator)
@@ -0,0 +1,17 @@
1
+ module SpreePluggto::Api
2
+ class Stock
3
+ class << self
4
+ def update(variant)
5
+ ::SpreePluggto::Api::Request.new.put("/skus/#{variant.sku}/stock", params(variant).to_json)
6
+ end
7
+
8
+ def params(variant)
9
+ {
10
+ "action": "update",
11
+ "quantity": variant.total_on_hand.finite? ? variant.total_on_hand : 99,
12
+ "sku": variant.sku
13
+ }
14
+ end
15
+ end
16
+ end
17
+ end
@@ -9,8 +9,8 @@ module SpreePluggto
9
9
 
10
10
  module VERSION
11
11
  MAJOR = 1
12
- MINOR = 0
13
- TINY = 2
12
+ MINOR = 1
13
+ TINY = 0
14
14
  # PRE = 'alpha'.freeze
15
15
 
16
16
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_pluggto
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lucas Kuhn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-23 00:00:00.000000000 Z
11
+ date: 2021-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -288,11 +288,13 @@ files:
288
288
  - app/jobs/spree_pluggto/product_updated_job.rb
289
289
  - app/jobs/spree_pluggto/sku_deleted_job.rb
290
290
  - app/jobs/spree_pluggto/update_pluggto_order_job.rb
291
+ - app/jobs/spree_pluggto/update_stock_job.rb
291
292
  - app/jobs/spree_pluggto/upsert_all_products_job.rb
292
293
  - app/jobs/spree_pluggto/upsert_product_job.rb
293
294
  - app/models/pluggto_settings.rb
294
295
  - app/models/spree_pluggto/spree/product_decorator.rb
295
296
  - app/models/spree_pluggto/spree/shipment_decorator.rb
297
+ - app/models/spree_pluggto/spree/stock_item_decorator.rb
296
298
  - app/overrides/add_pluggto_id_to_order_summary.rb
297
299
  - app/overrides/add_pluggto_tab_to_order_sidebar.rb
298
300
  - app/overrides/add_settings_to_admin_configurations.rb
@@ -300,6 +302,7 @@ files:
300
302
  - app/services/spree_pluggto/api/order.rb
301
303
  - app/services/spree_pluggto/api/product.rb
302
304
  - app/services/spree_pluggto/api/request.rb
305
+ - app/services/spree_pluggto/api/stock.rb
303
306
  - app/services/spree_pluggto/create_spree_order.rb
304
307
  - app/services/spree_pluggto/delete_spree_product_reference.rb
305
308
  - app/services/spree_pluggto/send_integration_errors.rb
@@ -342,8 +345,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
342
345
  version: '0'
343
346
  requirements:
344
347
  - none
345
- rubyforge_project:
346
- rubygems_version: 2.7.6.2
348
+ rubygems_version: 3.2.16
347
349
  signing_key:
348
350
  specification_version: 4
349
351
  summary: Connect Spree to Plugg.to