zendesk_apps_support 1.13.1 → 1.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/zendesk_apps_support/package.rb +11 -3
- data/lib/zendesk_apps_support/validations/manifest.rb +20 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3055335096394934cafc9c548907e1cfaaab976e
|
4
|
+
data.tar.gz: bed1c6bdc27453eaea089516fe98e9ba453f578c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2185231043764b8709eb2d1289f4562e6aafeb76c4b917d5c39e93accd5dbfdcddeaa1bf206974412ad70bf84b7422e1d8ae0a63d3b14b778155138e1f18736
|
7
|
+
data.tar.gz: 61abb816e118e9e30fe4edd535df19ce2e53a1f8aa0fff48f0b8a2222fae7a006190a85a13c3e5b8ae8783a55b61bcbbbfa88d7b0271847a55aaf03c7901c6a3
|
@@ -26,7 +26,7 @@ module ZendeskAppsSupport
|
|
26
26
|
errors << Validations::Package.call(self)
|
27
27
|
errors << Validations::Translations.call(self)
|
28
28
|
|
29
|
-
if
|
29
|
+
if has_js?
|
30
30
|
errors << Validations::Source.call(self)
|
31
31
|
errors << Validations::Templates.call(self)
|
32
32
|
errors << Validations::Stylesheets.call(self)
|
@@ -101,8 +101,12 @@ module ZendeskAppsSupport
|
|
101
101
|
customer_css = File.exist?(css_file) ? File.read(css_file) : ""
|
102
102
|
end
|
103
103
|
|
104
|
+
def has_js?
|
105
|
+
file_exists?("app.js")
|
106
|
+
end
|
107
|
+
|
104
108
|
def has_manifest?
|
105
|
-
|
109
|
+
file_exists?("manifest.json")
|
106
110
|
end
|
107
111
|
|
108
112
|
def has_location?
|
@@ -110,7 +114,7 @@ module ZendeskAppsSupport
|
|
110
114
|
end
|
111
115
|
|
112
116
|
def has_requirements?
|
113
|
-
|
117
|
+
file_exists?("requirements.json")
|
114
118
|
end
|
115
119
|
|
116
120
|
def is_requirements_only?
|
@@ -149,6 +153,10 @@ module ZendeskAppsSupport
|
|
149
153
|
files
|
150
154
|
end
|
151
155
|
|
156
|
+
def file_exists?(path)
|
157
|
+
File.exist?(File.join(root, path))
|
158
|
+
end
|
159
|
+
|
152
160
|
def read_file(path)
|
153
161
|
file_path = File.join(root, path)
|
154
162
|
File.read(File.join(root, path))
|
@@ -4,7 +4,7 @@ module ZendeskAppsSupport
|
|
4
4
|
module Validations
|
5
5
|
module Manifest
|
6
6
|
|
7
|
-
REQUIRED_MANIFEST_FIELDS = %w( author defaultLocale
|
7
|
+
REQUIRED_MANIFEST_FIELDS = %w( author defaultLocale ).freeze
|
8
8
|
OAUTH_REQUIRED_FIELDS = %w( client_id client_secret authorize_uri access_token_uri ).freeze
|
9
9
|
LOCATIONS_AVAILABLE = %w( top_bar nav_bar ticket_sidebar new_ticket_sidebar user_sidebar ).freeze
|
10
10
|
TYPES_AVAILABLE = %W( text password checkbox url number multiline hidden ).freeze
|
@@ -19,16 +19,18 @@ module ZendeskAppsSupport
|
|
19
19
|
[].tap do |errors|
|
20
20
|
errors << missing_keys_error(manifest)
|
21
21
|
errors << default_locale_error(manifest, package)
|
22
|
-
errors << invalid_version_error(manifest, package)
|
23
22
|
errors << oauth_error(manifest)
|
24
23
|
errors << parameters_error(manifest)
|
25
24
|
errors << invalid_hidden_parameter_error(manifest)
|
26
25
|
errors << invalid_type_error(manifest)
|
27
26
|
errors << name_as_parameter_name_error(manifest)
|
28
27
|
|
29
|
-
if package.
|
28
|
+
if package.has_js?
|
29
|
+
errors << missing_location_error(package)
|
30
30
|
errors << invalid_location_error(manifest)
|
31
31
|
errors << duplicate_location_error(manifest)
|
32
|
+
errors << missing_framework_version(manifest)
|
33
|
+
errors << invalid_version_error(manifest, package)
|
32
34
|
end
|
33
35
|
errors.compact!
|
34
36
|
end
|
@@ -70,9 +72,7 @@ module ZendeskAppsSupport
|
|
70
72
|
manifest[key].nil?
|
71
73
|
end
|
72
74
|
|
73
|
-
if missing.any?
|
74
|
-
ValidationError.new('manifest_keys.missing', :missing_keys => missing.join(', '), :count => missing.length)
|
75
|
-
end
|
75
|
+
missing_keys_validation_error(missing) if missing.any?
|
76
76
|
end
|
77
77
|
|
78
78
|
def default_locale_error(manifest, package)
|
@@ -86,6 +86,10 @@ module ZendeskAppsSupport
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
89
|
+
def missing_location_error(package)
|
90
|
+
missing_keys_validation_error(['location']) unless package.has_location?
|
91
|
+
end
|
92
|
+
|
89
93
|
def invalid_location_error(manifest)
|
90
94
|
invalid_locations = [*manifest['location']] - LOCATIONS_AVAILABLE
|
91
95
|
unless invalid_locations.empty?
|
@@ -102,6 +106,10 @@ module ZendeskAppsSupport
|
|
102
106
|
end
|
103
107
|
end
|
104
108
|
|
109
|
+
def missing_framework_version(manifest)
|
110
|
+
missing_keys_validation_error(['frameworkVersion']) if manifest['frameworkVersion'].nil?
|
111
|
+
end
|
112
|
+
|
105
113
|
def invalid_version_error(manifest, package)
|
106
114
|
valid_to_serve = AppVersion::TO_BE_SERVED
|
107
115
|
target_version = manifest['frameworkVersion']
|
@@ -151,6 +159,12 @@ module ZendeskAppsSupport
|
|
151
159
|
end
|
152
160
|
end
|
153
161
|
|
162
|
+
private
|
163
|
+
|
164
|
+
def missing_keys_validation_error(missing_keys)
|
165
|
+
ValidationError.new('manifest_keys.missing', :missing_keys => missing_keys.join(', '), :count => missing_keys.length)
|
166
|
+
end
|
167
|
+
|
154
168
|
end
|
155
169
|
end
|
156
170
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zendesk_apps_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.13.
|
4
|
+
version: 1.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James A. Rosen
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2014-02-
|
14
|
+
date: 2014-02-12 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: i18n
|