From 61743e044ec9d9ff42928a6a92dfc8f947a0c20c Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 10:23:15 +0200 Subject: [PATCH 1/9] support for product type definitions --- lib/muffin_man/definitions/v20200901.rb | 31 +++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lib/muffin_man/definitions/v20200901.rb diff --git a/lib/muffin_man/definitions/v20200901.rb b/lib/muffin_man/definitions/v20200901.rb new file mode 100644 index 0000000..0b5ac3d --- /dev/null +++ b/lib/muffin_man/definitions/v20200901.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module MuffinMan + module Definitions + class V20200901 < SpApiClient + def search_definitions_product_types(marketplace_ids, keywords: nil) + @local_var_path = "/definitions/2020-09-01/productTypes#{seller_id}/#{sku}" + @marketplace_ids = marketplace_ids.is_a?(Array) ? marketplace_ids : [marketplace_ids] + @keywords = keywords.is_a?(Array) ? keywords : [keywords] + @query_params = { marketplaceIds: @marketplace_ids.join(",") } + @query_params["keywords"] = keywords.join(",") if keywords.any? + @request_type = "GET" + call_api + end + + def get_definitions_product_type(product_type, marketplace_ids, seller_id: nil, product_type_version: nil, + requirements: nil, requirements_enforced: nil, locale: nil) + @local_var_path = "/definitions/2020-09-01/productTypes/#{product_type}" + @marketplace_ids = marketplace_ids.is_a?(Array) ? marketplace_ids : [marketplace_ids] + @query_params = { marketplaceIds: @marketplace_ids.join(",") } + @query_params["sellerId"] = seller_id if seller_id + @query_params["productTypeVersion"] = product_type_version if product_type_version + @query_params["requirements"] = requirements.join(",") if requirements + @query_params["requirementsEnforced"] = requirements_enforced if requirements_enforced + @query_params["locale"] = locale if locale + @request_type = "GET" + call_api + end + end + end +end From 17408b72ce6a469de9f8b7c0ba580ca8b95ccbbc Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 10:26:52 +0200 Subject: [PATCH 2/9] support for product type definitions --- lib/muffin_man.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/muffin_man.rb b/lib/muffin_man.rb index ccdefef..ca50a8d 100644 --- a/lib/muffin_man.rb +++ b/lib/muffin_man.rb @@ -20,6 +20,7 @@ require "muffin_man/feeds/v20210630" require "muffin_man/notifications/v1" require "muffin_man/merchant_fulfillment/v0" +require "muffin_man/definitions/v20200901" module MuffinMan class Error < StandardError; end From ec90a4a8fffdea69892369152c9f0c85c3ea82ee Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 10:51:05 +0200 Subject: [PATCH 3/9] fix --- lib/muffin_man/definitions/v20200901.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/muffin_man/definitions/v20200901.rb b/lib/muffin_man/definitions/v20200901.rb index 0b5ac3d..5f7945f 100644 --- a/lib/muffin_man/definitions/v20200901.rb +++ b/lib/muffin_man/definitions/v20200901.rb @@ -4,7 +4,7 @@ module MuffinMan module Definitions class V20200901 < SpApiClient def search_definitions_product_types(marketplace_ids, keywords: nil) - @local_var_path = "/definitions/2020-09-01/productTypes#{seller_id}/#{sku}" + @local_var_path = "/definitions/2020-09-01/productTypes" @marketplace_ids = marketplace_ids.is_a?(Array) ? marketplace_ids : [marketplace_ids] @keywords = keywords.is_a?(Array) ? keywords : [keywords] @query_params = { marketplaceIds: @marketplace_ids.join(",") } From b3a3aded2243c02d908bade899b8ae0464bee133 Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 10:52:24 +0200 Subject: [PATCH 4/9] fix --- lib/muffin_man/definitions/v20200901.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/muffin_man/definitions/v20200901.rb b/lib/muffin_man/definitions/v20200901.rb index 5f7945f..19cdc0c 100644 --- a/lib/muffin_man/definitions/v20200901.rb +++ b/lib/muffin_man/definitions/v20200901.rb @@ -8,7 +8,7 @@ def search_definitions_product_types(marketplace_ids, keywords: nil) @marketplace_ids = marketplace_ids.is_a?(Array) ? marketplace_ids : [marketplace_ids] @keywords = keywords.is_a?(Array) ? keywords : [keywords] @query_params = { marketplaceIds: @marketplace_ids.join(",") } - @query_params["keywords"] = keywords.join(",") if keywords.any? + @query_params["keywords"] = keywords.join(",") if keywords @request_type = "GET" call_api end From c62aafc009aa679758e2c598f981bd3c361286b0 Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 13:00:37 +0200 Subject: [PATCH 5/9] fix --- lib/muffin_man/definitions/v20200901.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/muffin_man/definitions/v20200901.rb b/lib/muffin_man/definitions/v20200901.rb index 19cdc0c..11e32b9 100644 --- a/lib/muffin_man/definitions/v20200901.rb +++ b/lib/muffin_man/definitions/v20200901.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - module MuffinMan module Definitions class V20200901 < SpApiClient From b89b31dbd000aac244550383e66698d0d06dabdb Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 13:10:07 +0200 Subject: [PATCH 6/9] fix --- lib/muffin_man/definitions/v20200901.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/muffin_man/definitions/v20200901.rb b/lib/muffin_man/definitions/v20200901.rb index 11e32b9..24acc38 100644 --- a/lib/muffin_man/definitions/v20200901.rb +++ b/lib/muffin_man/definitions/v20200901.rb @@ -6,7 +6,7 @@ def search_definitions_product_types(marketplace_ids, keywords: nil) @marketplace_ids = marketplace_ids.is_a?(Array) ? marketplace_ids : [marketplace_ids] @keywords = keywords.is_a?(Array) ? keywords : [keywords] @query_params = { marketplaceIds: @marketplace_ids.join(",") } - @query_params["keywords"] = keywords.join(",") if keywords + @query_params["keywords"] = keywords if keywords @request_type = "GET" call_api end From a1c06fb11ce19b6408fe280cf6b91fe5797283b8 Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 13:12:42 +0200 Subject: [PATCH 7/9] fix --- lib/muffin_man/definitions/v20200901.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/muffin_man/definitions/v20200901.rb b/lib/muffin_man/definitions/v20200901.rb index 24acc38..11e32b9 100644 --- a/lib/muffin_man/definitions/v20200901.rb +++ b/lib/muffin_man/definitions/v20200901.rb @@ -6,7 +6,7 @@ def search_definitions_product_types(marketplace_ids, keywords: nil) @marketplace_ids = marketplace_ids.is_a?(Array) ? marketplace_ids : [marketplace_ids] @keywords = keywords.is_a?(Array) ? keywords : [keywords] @query_params = { marketplaceIds: @marketplace_ids.join(",") } - @query_params["keywords"] = keywords if keywords + @query_params["keywords"] = keywords.join(",") if keywords @request_type = "GET" call_api end From 44f9cba6fa0687b525c11bfa40ead230be3ec4d0 Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 13:15:23 +0200 Subject: [PATCH 8/9] fix --- lib/muffin_man/definitions/v20200901.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/muffin_man/definitions/v20200901.rb b/lib/muffin_man/definitions/v20200901.rb index 11e32b9..c4f5040 100644 --- a/lib/muffin_man/definitions/v20200901.rb +++ b/lib/muffin_man/definitions/v20200901.rb @@ -6,7 +6,7 @@ def search_definitions_product_types(marketplace_ids, keywords: nil) @marketplace_ids = marketplace_ids.is_a?(Array) ? marketplace_ids : [marketplace_ids] @keywords = keywords.is_a?(Array) ? keywords : [keywords] @query_params = { marketplaceIds: @marketplace_ids.join(",") } - @query_params["keywords"] = keywords.join(",") if keywords + @query_params["keywords"] = @keywords.join(",") if keywords @request_type = "GET" call_api end From 0061288017e231bb05db02e1921564eae2a0de64 Mon Sep 17 00:00:00 2001 From: Wolfgang Tom Date: Wed, 6 Sep 2023 13:17:24 +0200 Subject: [PATCH 9/9] rubocop fixes --- lib/muffin_man/definitions/v20200901.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/muffin_man/definitions/v20200901.rb b/lib/muffin_man/definitions/v20200901.rb index c4f5040..8da7a1c 100644 --- a/lib/muffin_man/definitions/v20200901.rb +++ b/lib/muffin_man/definitions/v20200901.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module MuffinMan module Definitions class V20200901 < SpApiClient