neomode_client 0.1.0 → 0.4.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: 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