13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/zendesk_apps_support/validations/manifest.rb', line 13
def call(package)
manifest = package.files.find { |f| f.relative_path == 'manifest.json' }
return [ValidationError.new(:missing_manifest)] unless manifest
manifest = MultiJson.load(manifest.read)
[].tap do |errors|
errors << missing_keys_error(manifest)
errors << default_locale_error(manifest, package)
errors << invalid_location_error(manifest)
errors << invalid_version_error(manifest, package)
errors << oauth_error(manifest)
errors << parameters_error(manifest)
errors << invalid_hidden_parameter_error(manifest)
errors << invalid_type_error(manifest)
errors.compact!
end
rescue MultiJson::DecodeError => e
return [ValidationError.new(:manifest_not_json, :errors => e)]
end
|