spree_pluggto 1.0.2 → 1.1.0

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: 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