zendesk_apps_support 4.2.1 → 4.3.0
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: c35e29cfb59ea49f7c17e2c67e7e87448d082d70
|
4
|
+
data.tar.gz: 9b9bed066d256daedaaddb4430f8c8e2cf77d2b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f77764d71a3a8a65e69a50b8ee708ffc25f110694d28b218bb001d7675a8949f30b2d7896b1b5b394a3d99aa4a0624f84d23c7ac12c632a08b19d22457ac0ed1
|
7
|
+
data.tar.gz: 61c0cdff51c2ddff19b94d24b37355c5d01ec1c57fcecd379f9e09df716a3280373548e7c76a28b3e9268052f82ff229efa103b8fe9ab0322f6008fd4801f528
|
data/config/locales/en.yml
CHANGED
@@ -57,6 +57,7 @@ en:
|
|
57
57
|
banner:
|
58
58
|
invalid_format: Banner image must be a PNG file.
|
59
59
|
invalid_size: Invalid banner image dimensions. Must be %{required_banner_width}x%{required_banner_height}px.
|
60
|
+
dirty_svg: '%{svg} contains invalid markup and was unable to be automatically regenerated.'
|
60
61
|
oauth_keys:
|
61
62
|
missing:
|
62
63
|
one: 'Missing required oauth field in manifest: %{missing_keys}'
|
@@ -116,3 +117,4 @@ en:
|
|
116
117
|
deprecated_version: You are targeting a deprecated version of the framework.
|
117
118
|
Your app will work, but it might break when the new framework version
|
118
119
|
is deployed.
|
120
|
+
sanitised_svg: "The markup in %{svg} has been edited for use in Zendesk, and may not display as intended."
|
data/lib/zendesk_apps_support.rb
CHANGED
@@ -27,6 +27,7 @@ module ZendeskAppsSupport
|
|
27
27
|
autoload :Stylesheets, 'zendesk_apps_support/validations/stylesheets'
|
28
28
|
autoload :Requirements, 'zendesk_apps_support/validations/requirements'
|
29
29
|
autoload :Banner, 'zendesk_apps_support/validations/banner'
|
30
|
+
autoload :Svg, 'zendesk_apps_support/validations/svg'
|
30
31
|
end
|
31
32
|
|
32
33
|
class Manifest
|
@@ -30,6 +30,7 @@ module ZendeskAppsSupport
|
|
30
30
|
def validate(marketplace: true)
|
31
31
|
[].tap do |errors|
|
32
32
|
errors << Validations::Manifest.call(self)
|
33
|
+
|
33
34
|
if has_manifest?
|
34
35
|
errors << Validations::Marketplace.call(self) if marketplace
|
35
36
|
errors << Validations::Source.call(self)
|
@@ -43,6 +44,7 @@ module ZendeskAppsSupport
|
|
43
44
|
end
|
44
45
|
|
45
46
|
errors << Validations::Banner.call(self) if has_banner?
|
47
|
+
errors << Validations::Svg.call(self) if has_svgs?
|
46
48
|
|
47
49
|
errors.flatten!.compact!
|
48
50
|
end
|
@@ -91,6 +93,10 @@ module ZendeskAppsSupport
|
|
91
93
|
@lib_files ||= js_files.select { |f| f =~ %r{^lib/} }
|
92
94
|
end
|
93
95
|
|
96
|
+
def svg_files
|
97
|
+
@svg_files ||= files.select { |f| f =~ %r{^assets/.*\.svg$} }
|
98
|
+
end
|
99
|
+
|
94
100
|
def template_files
|
95
101
|
files.select { |f| f =~ %r{^templates/.*\.hdbs$} }
|
96
102
|
end
|
@@ -268,6 +274,10 @@ module ZendeskAppsSupport
|
|
268
274
|
has_file?('assets/banner.png')
|
269
275
|
end
|
270
276
|
|
277
|
+
def has_svgs?
|
278
|
+
svg_files.any?
|
279
|
+
end
|
280
|
+
|
271
281
|
def location_icons
|
272
282
|
Hash.new { |h, k| h[k] = {} }.tap do |location_icons|
|
273
283
|
manifest.location_options.each do |location_options|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'loofah'
|
3
|
+
|
4
|
+
module ZendeskAppsSupport
|
5
|
+
module Validations
|
6
|
+
module Svg
|
7
|
+
class << self
|
8
|
+
def call(package)
|
9
|
+
errors = []
|
10
|
+
package.svg_files.each do |svg|
|
11
|
+
markup = svg.read
|
12
|
+
clean_markup = Loofah.scrub_xml_document(markup, :prune).to_html
|
13
|
+
filepath = svg.relative_path
|
14
|
+
|
15
|
+
next if clean_markup == markup
|
16
|
+
begin
|
17
|
+
IO.write(filepath, clean_markup)
|
18
|
+
package.warnings << I18n.t('txt.apps.admin.warning.sanitised_svg', svg: filepath)
|
19
|
+
rescue
|
20
|
+
errors << ValidationError.new(:dirty_svg, svg: filepath)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
errors
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
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: 4.
|
4
|
+
version: 4.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James A. Rosen
|
@@ -111,6 +111,34 @@ dependencies:
|
|
111
111
|
- - "~>"
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: 0.3.0
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: loofah
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
121
|
+
type: :runtime
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
- !ruby/object:Gem::Dependency
|
129
|
+
name: nokogiri
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - "~>"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.6.8.1
|
135
|
+
type: :runtime
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - "~>"
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 1.6.8.1
|
114
142
|
- !ruby/object:Gem::Dependency
|
115
143
|
name: rspec
|
116
144
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,6 +195,20 @@ dependencies:
|
|
167
195
|
- - "~>"
|
168
196
|
- !ruby/object:Gem::Version
|
169
197
|
version: 0.46.0
|
198
|
+
- !ruby/object:Gem::Dependency
|
199
|
+
name: byebug
|
200
|
+
requirement: !ruby/object:Gem::Requirement
|
201
|
+
requirements:
|
202
|
+
- - ">="
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: '0'
|
205
|
+
type: :development
|
206
|
+
prerelease: false
|
207
|
+
version_requirements: !ruby/object:Gem::Requirement
|
208
|
+
requirements:
|
209
|
+
- - ">="
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '0'
|
170
212
|
description: Support to help you develop Zendesk Apps.
|
171
213
|
email:
|
172
214
|
- dev@zendesk.com
|
@@ -207,6 +249,7 @@ files:
|
|
207
249
|
- lib/zendesk_apps_support/validations/requirements.rb
|
208
250
|
- lib/zendesk_apps_support/validations/source.rb
|
209
251
|
- lib/zendesk_apps_support/validations/stylesheets.rb
|
252
|
+
- lib/zendesk_apps_support/validations/svg.rb
|
210
253
|
- lib/zendesk_apps_support/validations/templates.rb
|
211
254
|
- lib/zendesk_apps_support/validations/translations.rb
|
212
255
|
- lib/zendesk_apps_support/validations/validation_error.rb
|
@@ -222,7 +265,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
222
265
|
requirements:
|
223
266
|
- - ">="
|
224
267
|
- !ruby/object:Gem::Version
|
225
|
-
version: '0'
|
268
|
+
version: '2.0'
|
226
269
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
227
270
|
requirements:
|
228
271
|
- - ">="
|
@@ -230,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
273
|
version: 1.3.6
|
231
274
|
requirements: []
|
232
275
|
rubyforge_project:
|
233
|
-
rubygems_version: 2.6.
|
276
|
+
rubygems_version: 2.6.13
|
234
277
|
signing_key:
|
235
278
|
specification_version: 4
|
236
279
|
summary: Support to help you develop Zendesk Apps.
|