magento 0.21.1 → 0.22.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: 15c67c62a1922aae194eab45cae0684451a565ff8d7897fd914e8f4c7f2b9934
4
- data.tar.gz: 0a75750bf4e0976d81b72d69398d05ca5e7d63ea3588fe161ff6dd46d4223f7f
3
+ metadata.gz: 7b2408f7d630a838f697a67fd49e5c9821cb3876867ac1ca3bd895b7907aed3d
4
+ data.tar.gz: a96cf27ae84be012af63fcb7a85c012680abfcc8a605317176d30b306b75099e
5
5
  SHA512:
6
- metadata.gz: 02e95ff4336f3312a98acd8158decb1f66241f1183bb75de941f75c2cedaa7705ffcc732a9d8cb73d925cbd5f22a4404f42462bc8be46bfe86d219e880d45949
7
- data.tar.gz: 4f70b1965fcaeaf3f67bafee6a2a3f4d2f38296f11eb591f0e42302d796f0b4c810851facfd3d9c757d9fb97d1c4d4e996d653b6c46e4b8184205522560a655b
6
+ metadata.gz: 11472a37cda254fdec29a954cb96255326bf10abe0d50c2ef5befb2ebf894e446c5d89faec168fd010949edc7a7b009a8ed4aeddebf63a7152f4cf2b2eb52395
7
+ data.tar.gz: f3d20a4db9adddd584271fc653cffedd9131db1b4ed2d1fa5cdadf18cc48e6086cb3a6e940e2eaee0cc40639071e384442e92535209078d006d30e2c966b20c4
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  Add in your Gemfile
6
6
 
7
7
  ```rb
8
- gem 'magento', '~> 0.21.1'
8
+ gem 'magento', '~> 0.22.0'
9
9
  ```
10
10
 
11
11
  or run
@@ -643,6 +643,24 @@ Inventory.is_product_salable_for_requested_qty(
643
643
  }
644
644
  ```
645
645
 
646
+ ## Update product stock
647
+
648
+ ```rb
649
+ product = Magento::Product.find('sku')
650
+ product.update_stock(qty: 12, is_in_stock: true)
651
+ ```
652
+
653
+ or by class method
654
+
655
+ ```rb
656
+ Magento::Product.update_stock(sku, id, {
657
+ qty: 12,
658
+ is_in_stock: true
659
+ })
660
+ ```
661
+
662
+ see all available attributes in: https://magento.redoc.ly/2.4.1-admin/tag/productsproductSkustockItemsitemId
663
+
646
664
  ___
647
665
 
648
666
  ##TODO:
@@ -6,6 +6,14 @@ module Magento
6
6
  attr(m) || super(m, *params, &block)
7
7
  end
8
8
 
9
+ def stock
10
+ extension_attributes&.stock_item
11
+ end
12
+
13
+ def stock_quantity
14
+ stock&.qty
15
+ end
16
+
9
17
  # returns custom_attribute value by custom_attribute code
10
18
  # return nil if custom_attribute is not present
11
19
  def attr(attribute_code)
@@ -44,6 +52,16 @@ module Magento
44
52
  )
45
53
  end
46
54
 
55
+ # Update product stock
56
+ #
57
+ # product = Magento::Product.find('sku')
58
+ # product.update_stock(qty: 12, is_in_stock: true)
59
+ #
60
+ # see all available attributes in: https://magento.redoc.ly/2.4.1-admin/tag/productsproductSkustockItemsitemId
61
+ def update_stock(attributes)
62
+ self.class.update_stock(sku, id, attributes)
63
+ end
64
+
47
65
  class << self
48
66
  alias_method :find_by_sku, :find
49
67
 
@@ -66,6 +84,18 @@ module Magento
66
84
  "products/#{sku}/group-prices/#{customer_group_id}/tiers/#{quantity}/price/#{price}"
67
85
  ).parse
68
86
  end
87
+
88
+ # Update product stock
89
+ #
90
+ # Magento::Product.update_stock(sku, id, {
91
+ # qty: 12,
92
+ # is_in_stock: true
93
+ # })
94
+ #
95
+ # see all available attributes in: https://magento.redoc.ly/2.4.1-admin/tag/productsproductSkustockItemsitemId
96
+ def update_stock(sku, id, attributes)
97
+ request.put("products/#{sku}/stockItems/#{id}", stockItem: attributes).parse
98
+ end
69
99
  end
70
100
  end
71
101
  end
@@ -1,3 +1,3 @@
1
1
  module Magento
2
- VERSION = '0.21.1'
2
+ VERSION = '0.22.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magento
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.1
4
+ version: 0.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wallas Faria