muffin_man 2.0.1 → 2.0.3

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: 44cf68d9d4bc52d95ee00e5f882246bb794fe7bbd13cef5aeccf67dfe4e31f63
4
- data.tar.gz: 5435ab4676da530bc4774518ae74e54bbede3c420b67a1a5046664797850757a
3
+ metadata.gz: e369bb1ade25adc09729766667804263f5c1047939a98e13da9c3d6a10ddddcf
4
+ data.tar.gz: 8bcf51705df499bd703b3ce8e69fc7342ae475f60431bad183e080b6eca0c918
5
5
  SHA512:
6
- metadata.gz: 51e8b193285bfef3da628db4556d997bd1c57683ae5e8542544852d703fefe5913902b4385d307d5ec95c9f987d237dc10b6253b2b8e26c6ee5eadaae9019658
7
- data.tar.gz: 98afc241a276ede4d3d239da6b1229c0c4e83863b4911f95fccee93b28972c6ce5b49966cf0e2759a74f02c627c1547bf4841c6aab509604b656a1d62c5cf14a
6
+ metadata.gz: 6130d36d41d5e9f38f63fcc55f51c3269d49c78bc5e2c42eeda68f4a466756ffde7cf066d13d6f5b2d57b182e148875f33ea2b17f932268fc352d0b13bdd6e73
7
+ data.tar.gz: 9251f8fddf551cd308627276a82927e899a5ed5488c82143104f436e606515e07565f839fc8f2f47190362ad9833fc4afd268b5d4dcd26744b39ee895809de1a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # 2.0.3 [#](https://github.com/patterninc/muffin_man/pull/50)
2
+
3
+ - Support for putListingsItem
4
+
5
+ # 2.0.2 [#49](https://github.com/patterninc/muffin_man/pull/49)
6
+
7
+ - Better error handling for unauthorized errors when getting LWA tokens
8
+
1
9
  # 2.0.1 [#46](https://github.com/patterninc/muffin_man/pull/46)
2
10
 
3
11
  - Support for passing an array of identifiers to search_catalog_items
data/README.md CHANGED
@@ -15,6 +15,7 @@ As of now, this gem only supports portions of the following APIs with more to co
15
15
  - `fulfillment_outbound`
16
16
  - `feeds`
17
17
  - `notifications`
18
+ - `listings`
18
19
 
19
20
  ## Installation
20
21
 
@@ -19,6 +19,23 @@ module MuffinMan
19
19
  @request_type = "GET"
20
20
  call_api
21
21
  end
22
+
23
+ def put_listings_item(seller_id, sku, marketplace_ids, product_type, attributes, issue_locale: nil,
24
+ requirements: nil)
25
+ @local_var_path = "/listings/2021-08-01/items/#{seller_id}/#{sku}"
26
+ @marketplace_ids = marketplace_ids.is_a?(Array) ? marketplace_ids : [marketplace_ids]
27
+ @query_params = {
28
+ "marketplaceIds" => @marketplace_ids.join(",")
29
+ }
30
+ @query_params["issueLocale"] = issue_locale if issue_locale
31
+ @request_body = {
32
+ "productType" => product_type,
33
+ "attributes" => attributes
34
+ }
35
+ @request_body["requirements"] = requirements if requirements
36
+ @request_type = "PUT"
37
+ call_api
38
+ end
22
39
  end
23
40
  end
24
41
  end
@@ -43,6 +43,8 @@ module MuffinMan
43
43
 
44
44
  def call_api
45
45
  Typhoeus.send(request_type.downcase.to_sym, request.url, request_opts)
46
+ rescue SpApiAuthError => e
47
+ e.auth_response
46
48
  end
47
49
 
48
50
  def request_opts
@@ -100,6 +102,8 @@ module MuffinMan
100
102
  "Content-Type" => "application/x-www-form-urlencoded;charset=UTF-8"
101
103
  }
102
104
  )
105
+ raise SpApiAuthError, response if response.failure?
106
+
103
107
  JSON.parse(response.body)
104
108
  end
105
109
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MuffinMan
4
- VERSION = "2.0.1"
4
+ VERSION = "2.0.3"
5
5
  end
data/lib/muffin_man.rb CHANGED
@@ -24,6 +24,15 @@ require "muffin_man/merchant_fulfillment/v0"
24
24
  module MuffinMan
25
25
  class Error < StandardError; end
26
26
 
27
+ class SpApiAuthError < StandardError
28
+ attr_reader :auth_response
29
+
30
+ def initialize(auth_response)
31
+ super
32
+ @auth_response = auth_response
33
+ end
34
+ end
35
+
27
36
  class << self
28
37
  attr_accessor :configuration
29
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muffin_man
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2023-03-06 00:00:00.000000000 Z
13
+ date: 2023-06-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec