zendesk_apps_support 3.1.2 → 3.1.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0109ce4105d60dea50f5b3a1fd4ef1be8f846f97
|
4
|
+
data.tar.gz: ed2fbeaef6580326d51ffe0168f509962b3a3353
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c9adc260e3f74ae811b728a05988a42c81542c96bbb1c004f524b61d99f9cac393bb3ce1bf9660b167e0042e79fdc3e0c7648587cc5b84adbc1d1ea754736b4
|
7
|
+
data.tar.gz: 69aa0c73c61277e9d2816cd39884fbf0f5435c3736b49f92d67c19f877a44487c83b60f6b13bc45b3b5bfab0a987396cb5da1dd0b77bc54e5aeb257ba181634f
|
data/config/locales/en.yml
CHANGED
@@ -20,6 +20,8 @@ en:
|
|
20
20
|
manifest_not_json: manifest is not proper JSON. %{errors}
|
21
21
|
missing_manifest: Could not find manifest.json
|
22
22
|
symlink_in_zip: Symlinks are not allowed in the zip file
|
23
|
+
invalid_experiment: 'Manifest specifies unknown or unavailable experiment:
|
24
|
+
%{experiment}'
|
23
25
|
missing_requirements: Could not find requirements.json
|
24
26
|
requirements_not_supported: App requirements are not supported for marketing-only
|
25
27
|
apps
|
@@ -53,7 +55,7 @@ en:
|
|
53
55
|
not allowed when an iframe URI or noTemplate is specified
|
54
56
|
invalid_default_locale: "%{default_locale} is not a valid default locale."
|
55
57
|
missing_translation_file: 'Missing translation file for locale ''%{default_locale}''.
|
56
|
-
|
58
|
+
Learn more: http://developer.zendesk.com/documentation/apps/i18n.html'
|
57
59
|
invalid_host: "%{host_name} is an invalid host for apps."
|
58
60
|
invalid_location:
|
59
61
|
one: "%{invalid_locations} is an invalid location in %{host_name}."
|
@@ -81,7 +83,7 @@ en:
|
|
81
83
|
invalid_type_parameter:
|
82
84
|
one: "%{invalid_types} is an invalid parameter type."
|
83
85
|
other: "%{invalid_types} are invalid parameter types."
|
84
|
-
unacceptable_boolean: '%{field} must be a
|
86
|
+
unacceptable_boolean: '%{field} must be a boolean value, got "%{value}".'
|
85
87
|
invalid_no_template: noTemplate must be set to true, false, or an array
|
86
88
|
of valid locations.
|
87
89
|
duplicate_reference: 'Duplicate reference in manifest: "%{key}".'
|
@@ -44,6 +44,10 @@ parts:
|
|
44
44
|
key: "txt.apps.admin.error.app_build.symlink_in_zip"
|
45
45
|
title: "App builder job: symlinks not allowed. https://en.wikipedia.org/wiki/Symbolic_link"
|
46
46
|
value: "Symlinks are not allowed in the zip file"
|
47
|
+
- translation:
|
48
|
+
key: "txt.apps.admin.error.app_build.invalid_experiment"
|
49
|
+
title: "App builder job: experiment has been specifed that is not publically available or otherwise invalid"
|
50
|
+
value: "Manifest specifies unknown or unavailable experiment: %{experiment}"
|
47
51
|
- translation:
|
48
52
|
key: "txt.apps.admin.error.app_build.missing_requirements"
|
49
53
|
title: "App builder job: missing requirements error"
|
@@ -127,7 +131,7 @@ parts:
|
|
127
131
|
- translation:
|
128
132
|
key: "txt.apps.admin.error.app_build.missing_translation_file"
|
129
133
|
title: "App builder job: missing translation file"
|
130
|
-
value: "Missing translation file for locale '%{default_locale}'.
|
134
|
+
value: "Missing translation file for locale '%{default_locale}'. Learn more: http://developer.zendesk.com/documentation/apps/i18n.html"
|
131
135
|
- translation:
|
132
136
|
key: "txt.apps.admin.error.app_build.invalid_host"
|
133
137
|
title: "App builder job: invalid host application for apps"
|
@@ -214,8 +218,8 @@ parts:
|
|
214
218
|
value: "%{invalid_types} are invalid parameter types."
|
215
219
|
- translation:
|
216
220
|
key: "txt.apps.admin.error.app_build.unacceptable_boolean"
|
217
|
-
title: "App builder job: this value needs to be either true or false, but something else was passed in"
|
218
|
-
value: "%{field} must be a
|
221
|
+
title: "App builder job: this value needs to be either true or false, but something else was passed in. placeholder value is taken from user input. You can translate as: The value %{field} must be a Boolean... to avoid any gender issues."
|
222
|
+
value: "%{field} must be a boolean value, got \"%{value}\"."
|
219
223
|
- translation:
|
220
224
|
key: "txt.apps.admin.error.app_build.invalid_no_template"
|
221
225
|
title: "App builder job: `noTemplate` needs to be true, false or a valid array, but something else was passed in. noTemplate, true, and false should not be translated."
|
@@ -8,6 +8,7 @@ module ZendeskAppsSupport
|
|
8
8
|
marketing_only: 'marketingOnly',
|
9
9
|
version: 'version',
|
10
10
|
author: 'author',
|
11
|
+
experiments: 'experiments',
|
11
12
|
framework_version: 'frameworkVersion',
|
12
13
|
single_install: 'singleInstall',
|
13
14
|
signed_urls: 'signedUrls',
|
@@ -66,6 +67,10 @@ module ZendeskAppsSupport
|
|
66
67
|
end
|
67
68
|
end
|
68
69
|
|
70
|
+
def enabled_experiments
|
71
|
+
(experiments || {}).select { |k, v| v }.keys
|
72
|
+
end
|
73
|
+
|
69
74
|
def initialize(manifest_text)
|
70
75
|
m = parse_json(manifest_text)
|
71
76
|
RUBY_TO_JSON.each do |ruby, json|
|
@@ -77,6 +82,7 @@ module ZendeskAppsSupport
|
|
77
82
|
@private = m.fetch('private', true)
|
78
83
|
@signed_urls ||= false
|
79
84
|
@no_template ||= false
|
85
|
+
@experiments ||= {}
|
80
86
|
set_locations_and_hosts
|
81
87
|
end
|
82
88
|
|
@@ -27,10 +27,9 @@ module ZendeskAppsSupport
|
|
27
27
|
|
28
28
|
def validate(marketplace: true)
|
29
29
|
[].tap do |errors|
|
30
|
-
errors << Validations::Marketplace.call(self) if marketplace
|
31
|
-
|
32
30
|
errors << Validations::Manifest.call(self)
|
33
31
|
if has_manifest?
|
32
|
+
errors << Validations::Marketplace.call(self) if marketplace
|
34
33
|
errors << Validations::Source.call(self)
|
35
34
|
errors << Validations::Translations.call(self)
|
36
35
|
errors << Validations::Requirements.call(self)
|
@@ -119,6 +118,7 @@ module ZendeskAppsSupport
|
|
119
118
|
templates = manifest.no_template == true ? {} : compiled_templates(app_id, asset_url_prefix)
|
120
119
|
|
121
120
|
app_settings = {
|
121
|
+
experiments: manifest.experiments,
|
122
122
|
location: manifest.locations,
|
123
123
|
noTemplate: manifest.no_template_locations,
|
124
124
|
singleInstall: manifest.single_install?,
|
@@ -1,9 +1,11 @@
|
|
1
1
|
module ZendeskAppsSupport
|
2
2
|
module Validations
|
3
3
|
module Marketplace
|
4
|
+
WHITELISTED_EXPERIMENTS = [].freeze
|
5
|
+
|
4
6
|
class << self
|
5
7
|
def call(package)
|
6
|
-
[no_symlinks(package.root)].compact
|
8
|
+
[no_symlinks(package.root), *no_experiments(package.manifest)].compact
|
7
9
|
end
|
8
10
|
|
9
11
|
private
|
@@ -14,6 +16,13 @@ module ZendeskAppsSupport
|
|
14
16
|
end
|
15
17
|
nil
|
16
18
|
end
|
19
|
+
|
20
|
+
def no_experiments(manifest)
|
21
|
+
invalid_experiments = manifest.enabled_experiments - WHITELISTED_EXPERIMENTS
|
22
|
+
invalid_experiments.map do |experiment|
|
23
|
+
ValidationError.new(:invalid_experiment, experiment: experiment)
|
24
|
+
end
|
25
|
+
end
|
17
26
|
end
|
18
27
|
end
|
19
28
|
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: 3.1.
|
4
|
+
version: 3.1.3
|
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: 2016-
|
14
|
+
date: 2016-10-19 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: i18n
|
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
201
|
version: 1.3.6
|
202
202
|
requirements: []
|
203
203
|
rubyforge_project:
|
204
|
-
rubygems_version: 2.
|
204
|
+
rubygems_version: 2.6.4
|
205
205
|
signing_key:
|
206
206
|
specification_version: 4
|
207
207
|
summary: Support to help you develop Zendesk Apps.
|