From 16dbf1568d544017f94e8e6d59dc9f142671a9ac Mon Sep 17 00:00:00 2001 From: Rogers Date: Thu, 18 May 2023 21:23:54 -0500 Subject: [PATCH 1/3] Clean up a bit --- .../validations/requirements.rb | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/lib/zendesk_apps_support/validations/requirements.rb b/lib/zendesk_apps_support/validations/requirements.rb index d513945c..992ce397 100644 --- a/lib/zendesk_apps_support/validations/requirements.rb +++ b/lib/zendesk_apps_support/validations/requirements.rb @@ -8,33 +8,23 @@ module Requirements class << self def call(package) - if package.manifest.requirements_only? && !package.has_requirements? - return [ValidationError.new(:missing_requirements)] - elsif !supports_requirements(package) && package.has_requirements? - return [ValidationError.new(:requirements_not_supported)] - elsif !package.has_requirements? + unless package.has_requirements? + return [ValidationError.new(:missing_requirements)] \ + if package.manifest.requirements_only? + return [] end + return [ValidationError.new(:requirements_not_supported)] \ + unless supports_requirements(package) + begin requirements = package.requirements_json rescue ZendeskAppsSupport::Manifest::OverrideError => e return [ValidationError.new(:duplicate_requirements, duplicate_keys: e.key, count: 1)] end - [].tap do |errors| - errors << invalid_requirements_types(requirements) - errors << excessive_requirements(requirements) - errors << excessive_custom_objects_requirements(requirements) - errors << invalid_channel_integrations(requirements) - errors << invalid_custom_fields(requirements) - errors << invalid_custom_objects(requirements) - errors << invalid_webhooks(requirements) - errors << invalid_target_types(requirements) - errors << missing_required_fields(requirements) - errors.flatten! - errors.compact! - end + erros(requirements) rescue JSON::ParserError => e return [ValidationError.new(:requirements_not_json, errors: e)] end @@ -184,6 +174,22 @@ def invalid_target_types(requirements) end end end + + def erros(requirements) + [].tap do |errors| + errors << invalid_requirements_types(requirements) + errors << excessive_requirements(requirements) + errors << excessive_custom_objects_requirements(requirements) + errors << invalid_channel_integrations(requirements) + errors << invalid_custom_fields(requirements) + errors << invalid_custom_objects(requirements) + errors << invalid_webhooks(requirements) + errors << invalid_target_types(requirements) + errors << missing_required_fields(requirements) + errors.flatten! + errors.compact! + end + end end end end From fc7b006e6fa5275efa44e432eb05d121735460e6 Mon Sep 17 00:00:00 2001 From: Rogers Date: Fri, 19 May 2023 08:05:13 -0500 Subject: [PATCH 2/3] * Avoid line continuation * Fix typo and rename the method to build_errors --- .../validations/requirements.rb | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/zendesk_apps_support/validations/requirements.rb b/lib/zendesk_apps_support/validations/requirements.rb index 992ce397..4462ca80 100644 --- a/lib/zendesk_apps_support/validations/requirements.rb +++ b/lib/zendesk_apps_support/validations/requirements.rb @@ -9,14 +9,12 @@ module Requirements class << self def call(package) unless package.has_requirements? - return [ValidationError.new(:missing_requirements)] \ - if package.manifest.requirements_only? - - return [] + return [ValidationError.new(:missing_requirements)] if package.manifest.requirements_only? + + return [] end - return [ValidationError.new(:requirements_not_supported)] \ - unless supports_requirements(package) + return [ValidationError.new(:requirements_not_supported)] unless supports_requirements(package) begin requirements = package.requirements_json @@ -24,7 +22,7 @@ def call(package) return [ValidationError.new(:duplicate_requirements, duplicate_keys: e.key, count: 1)] end - erros(requirements) + build_errors(requirements) rescue JSON::ParserError => e return [ValidationError.new(:requirements_not_json, errors: e)] end @@ -175,7 +173,7 @@ def invalid_target_types(requirements) end end - def erros(requirements) + def build_errors(requirements) [].tap do |errors| errors << invalid_requirements_types(requirements) errors << excessive_requirements(requirements) From 81f73183cbfd5d0ca3ed116c26141f541b6bc81f Mon Sep 17 00:00:00 2001 From: Rogers Date: Sat, 27 May 2023 08:29:55 -0500 Subject: [PATCH 3/3] rebase --- lib/zendesk_apps_support/validations/requirements.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/zendesk_apps_support/validations/requirements.rb b/lib/zendesk_apps_support/validations/requirements.rb index 4462ca80..c89ef7f9 100644 --- a/lib/zendesk_apps_support/validations/requirements.rb +++ b/lib/zendesk_apps_support/validations/requirements.rb @@ -11,7 +11,7 @@ def call(package) unless package.has_requirements? return [ValidationError.new(:missing_requirements)] if package.manifest.requirements_only? - return [] + return [] end return [ValidationError.new(:requirements_not_supported)] unless supports_requirements(package)