magento 0.21.1 → 0.22.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: 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