neomode_client 0.1.0 → 0.4.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: 56d4b478bc81ac99b648b9eeae5cb82dcbe7ffa6eaa501644a4358f75d7db327
4
- data.tar.gz: f8bdc9649a90ff3eb537b5c9e87ec881e008f802d3bfb8252342dc521ce5a5f3
3
+ metadata.gz: 8232588df669143666e1ffe5431e791c80305b138ace1591751839a663e6628e
4
+ data.tar.gz: 265ca0a015f0b13f585990bad7d6682e1dd94902a56ff65780add4264c524e27
5
5
  SHA512:
6
- metadata.gz: 360bf7a82eeafc9384d793d55dee7088551590aad178968314459552c45a2c53eb3bfd65390042b7fd95a1b7ef555b501a772e3e3e0be0eedbe73abcfe6ff9da
7
- data.tar.gz: c31255daae73113db615bd0fc0682672d5211c334ce8c06d5fe531e06a0b3dc2adbea92fe0e7a598642795a9fa70386547f4855ad746aa1c995d2d76e6d01e8c
6
+ metadata.gz: d3d532237137e1d1d3c5f443e79bbe9db1d7b28a13236c6fcebd22c50d2cb4096515845bd416bc711e9e5461466970e98d26e36df01224bc706658c5fef5a9dc
7
+ data.tar.gz: 69f448f4b6fd7ec2088008f1d877d8425d14f24c24a9a8aff4b315d570c5ff4b98d764a2a278c535067aad4862c6da62e6f9de82634b60ce72ba0616ad539d6f
@@ -25,6 +25,60 @@ module NeomodeClient
25
25
  handler.new(response).parse!
26
26
  end
27
27
 
28
+ def fetch_orders(seller_code:, query:)
29
+ response = connection.get("/management/commerce/sellers/#{seller_code}/orders", query)
30
+
31
+ handler.new(response).parse!
32
+ end
33
+
34
+ def update_order_status(order_id:, status:)
35
+ response = connection.put("/management/commerce/orders/#{order_id}/status/#{status}")
36
+
37
+ handler.new(response).parse!
38
+ end
39
+
40
+ def update_invoice(order_id:, invoice:)
41
+ response = connection.put("/management/commerce/orders/#{order_id}/invoicedetails", {invoice: invoice}.to_json)
42
+
43
+ handler.new(response).parse!
44
+ end
45
+
46
+ def update_tracking(order_id:, tracking:)
47
+ response = connection.put("/management/commerce/orders/#{order_id}/trackingdetails", tracking.to_json)
48
+
49
+ handler.new(response).parse!
50
+ end
51
+
52
+ def fetch_stock_quantities(args = {})
53
+ response = connection.get("/management/catalog/stocks", args)
54
+
55
+ handler.new(response).parse!
56
+ end
57
+
58
+ def fetch_categories(args = {})
59
+ response = connection.get("/management/catalog/categories", args)
60
+
61
+ handler.new(response).parse!
62
+ end
63
+
64
+ def fetch_products(args = {})
65
+ response = connection.get("/management/catalog/products", args)
66
+
67
+ handler.new(response).parse!
68
+ end
69
+
70
+ def fetch_product_by_id(product_id)
71
+ response = connection.get("/management/catalog/products/#{product_id}")
72
+
73
+ handler.new(response).parse!
74
+ end
75
+
76
+ def send_order(order)
77
+ response = connection.post("/management/commerce/orders", order.to_json)
78
+
79
+ handler.new(response).parse!
80
+ end
81
+
28
82
  private
29
83
 
30
84
  attr_reader :token, :is_production
@@ -2,11 +2,13 @@ class ResponseHandler
2
2
 
3
3
  def initialize(response)
4
4
  @response = response
5
+ @payload = OpenStruct.new
5
6
  end
6
7
 
7
- attr_reader :response, :single_from_list
8
+ attr_reader :response, :payload
8
9
 
9
10
  def parse!
11
+ parse_data
10
12
  success? ? handle_success : handle_error
11
13
  end
12
14
 
@@ -24,8 +26,8 @@ class ResponseHandler
24
26
  payload
25
27
  end
26
28
 
27
- def payload
28
- @payload ||= JSON.parse(response.body.presence || "{}", object_class: OpenStruct)
29
+ def parse_data
30
+ @payload.data = JSON.parse(response.body, object_class: OpenStruct) if response.body.present?
29
31
  end
30
32
 
31
33
  def success?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neomode_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luciano Cesar Cordeiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-22 00:00:00.000000000 Z
11
+ date: 2022-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday