zendesk_apps_support 4.2.1 → 4.3.0
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
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.
|