@@ -8,33 +8,23 @@ module Requirements
88
99 class << self
1010 def call ( package )
11- if package . manifest . requirements_only? && !package . has_requirements?
12- return [ ValidationError . new ( :missing_requirements ) ]
13- elsif !supports_requirements ( package ) && package . has_requirements?
14- return [ ValidationError . new ( :requirements_not_supported ) ]
15- elsif !package . has_requirements?
11+ unless package . has_requirements?
12+ return [ ValidationError . new ( :missing_requirements ) ] \
13+ if package . manifest . requirements_only?
14+
1615 return [ ]
1716 end
1817
18+ return [ ValidationError . new ( :requirements_not_supported ) ] \
19+ unless supports_requirements ( package )
20+
1921 begin
2022 requirements = package . requirements_json
2123 rescue ZendeskAppsSupport ::Manifest ::OverrideError => e
2224 return [ ValidationError . new ( :duplicate_requirements , duplicate_keys : e . key , count : 1 ) ]
2325 end
2426
25- [ ] . tap do |errors |
26- errors << invalid_requirements_types ( requirements )
27- errors << excessive_requirements ( requirements )
28- errors << excessive_custom_objects_requirements ( requirements )
29- errors << invalid_channel_integrations ( requirements )
30- errors << invalid_custom_fields ( requirements )
31- errors << invalid_custom_objects ( requirements )
32- errors << invalid_webhooks ( requirements )
33- errors << invalid_target_types ( requirements )
34- errors << missing_required_fields ( requirements )
35- errors . flatten!
36- errors . compact!
37- end
27+ erros ( requirements )
3828 rescue JSON ::ParserError => e
3929 return [ ValidationError . new ( :requirements_not_json , errors : e ) ]
4030 end
@@ -184,6 +174,22 @@ def invalid_target_types(requirements)
184174 end
185175 end
186176 end
177+
178+ def erros ( requirements )
179+ [ ] . tap do |errors |
180+ errors << invalid_requirements_types ( requirements )
181+ errors << excessive_requirements ( requirements )
182+ errors << excessive_custom_objects_requirements ( requirements )
183+ errors << invalid_channel_integrations ( requirements )
184+ errors << invalid_custom_fields ( requirements )
185+ errors << invalid_custom_objects ( requirements )
186+ errors << invalid_webhooks ( requirements )
187+ errors << invalid_target_types ( requirements )
188+ errors << missing_required_fields ( requirements )
189+ errors . flatten!
190+ errors . compact!
191+ end
192+ end
187193 end
188194 end
189195 end
0 commit comments