muffin_man 1.5.7 → 1.5.9

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: 47ca872bfc95886c455811cd19e00bf259cb8b36669ababeb4f182172c736f54
4
- data.tar.gz: e0d2d51aa2a28603c683bb36ce25be20c06aa9ab3b29834acf131cf560c158c7
3
+ metadata.gz: 508e823b7d850ccf559d34bf7513454175da5bd22d3db5af73295ec69a897ce6
4
+ data.tar.gz: 7c0d8fbf5ee47ed27984184da07a2d4c400341675f2386b43372b26a48057d1b
5
5
  SHA512:
6
- metadata.gz: 51ec09999784b062beaf99e79c349cfa488ba79f3fd11756f8bbda3cf88079f5d35f50653e84ef3d6575155a207e0580790a4312b3d626eca43dc373666510af
7
- data.tar.gz: 83a98afea012901a851b2356919372f645bffb39c41b9ef926666fcec19388b9e5335d1372958e3d2da8a04287b6bccf0a9c07b8c387bf6ccf982226707c4850
6
+ metadata.gz: 6789260d3c36a868196e3d982031789759a73f85c490003f10cf66a70eb8ea60a5a69a0492fd7fe0e19a72ad504beb090c1d065f199509d8fbd2e06b7c348a09
7
+ data.tar.gz: 8d4998c06367c2e471d16dfcae1abfa0cc62965eca15ad128c217bce88bf91b78873230980507d3c00181b320ba9a2a3cbb59cadd9e584dc9b1957bf6d074f6c
data/.rubocop.yml CHANGED
@@ -19,6 +19,9 @@ Style/StringLiteralsInInterpolation:
19
19
  Layout/LineLength:
20
20
  Max: 120
21
21
 
22
+ Metrics/ClassLength:
23
+ Max: 500
24
+
22
25
  Metrics/MethodLength:
23
26
  Max: 30
24
27
 
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # 1.5.9
2
+
3
+ - Support for estimateTransport, getTransportDetails, confirmTransport, and voidTransport [#44](https://github.com/patterninc/muffin_man/pull/44)
4
+
5
+ # 1.5.8
6
+
7
+ - Add batch functionality to competitive price
8
+
1
9
  # 1.5.7
2
10
 
3
11
  - Fix sandbox support for create shipments in Merchant Fulfillment
@@ -99,6 +99,30 @@ module MuffinMan
99
99
  @request_type = "PUT"
100
100
  call_api
101
101
  end
102
+
103
+ def estimate_transport(shipment_id)
104
+ @local_var_path = "/fba/inbound/v0/shipments/#{shipment_id}/transport/estimate"
105
+ @request_type = "POST"
106
+ call_api
107
+ end
108
+
109
+ def get_transport_details(shipment_id)
110
+ @local_var_path = "/fba/inbound/v0/shipments/#{shipment_id}/transport/"
111
+ @request_type = "GET"
112
+ call_api
113
+ end
114
+
115
+ def confirm_transport(shipment_id)
116
+ @local_var_path = "/fba/inbound/v0/shipments/#{shipment_id}/transport/confirm"
117
+ @request_type = "POST"
118
+ call_api
119
+ end
120
+
121
+ def void_transport(shipment_id)
122
+ @local_var_path = "/fba/inbound/v0/shipments/#{shipment_id}/transport/void"
123
+ @request_type = "POST"
124
+ call_api
125
+ end
102
126
  end
103
127
  end
104
128
  end
@@ -45,7 +45,7 @@ module MuffinMan
45
45
  @request_body = JSON.parse(
46
46
  File.read(
47
47
  File.expand_path(
48
- '../sandbox_helpers/merchant_fulfillment/create_shipment_body.json',
48
+ "../sandbox_helpers/merchant_fulfillment/create_shipment_body.json",
49
49
  File.dirname(__FILE__)
50
50
  )
51
51
  )
@@ -6,14 +6,20 @@ module MuffinMan
6
6
  GET_COMPETITIVE_PRICE_PARAMS = %w[Asins Skus CustomerType].freeze
7
7
 
8
8
  def get_competitive_pricing(marketplace_id, item_type='Asin', params = {})
9
- @params = params
10
- @local_var_path = "/products/pricing/v0/competitivePrice"
11
- @query_params = { "MarketplaceId" => marketplace_id,
12
- "ItemType" => item_type }
13
- @query_params.merge!(@params.slice(*GET_COMPETITIVE_PRICE_PARAMS))
9
+ @local_var_path = '/products/pricing/v0/competitivePrice'
10
+ @params = { 'MarketplaceId' => marketplace_id, 'ItemType' => item_type }
11
+ @params.merge! params.slice(*GET_COMPETITIVE_PRICE_PARAMS)
12
+ @query_params = hash_to_sp_api_uri_params(@params)
14
13
  @request_type = "GET"
15
14
  call_api
16
15
  end
16
+
17
+ private
18
+
19
+ # SP APIs expect param array on the form of Asins=Asin1%2CAsin2 (%2C is url escaped for ,) ...
20
+ def hash_to_sp_api_uri_params(params)
21
+ params.keys.map { |k| "#{k}=#{params[k].is_a?(Array) ? params[k].join("%2C") : params[k]}" }.join('&')
22
+ end
17
23
  end
18
24
  end
19
25
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MuffinMan
4
- VERSION = "1.5.7"
4
+ VERSION = "1.5.9"
5
5
  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: 1.5.7
4
+ version: 1.5.9
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: 2022-11-15 00:00:00.000000000 Z
13
+ date: 2022-12-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec