zendesk_apps_support 4.10.0 → 4.11.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.
Files changed (32) hide show
  1. checksums.yaml +5 -5
  2. data/config/locales/translations/zendesk_apps_support.yml +1 -16
  3. data/lib/zendesk_apps_support.rb +1 -0
  4. data/lib/zendesk_apps_support/app_file.rb +1 -0
  5. data/lib/zendesk_apps_support/app_requirement.rb +3 -2
  6. data/lib/zendesk_apps_support/app_version.rb +1 -0
  7. data/lib/zendesk_apps_support/build_translation.rb +1 -0
  8. data/lib/zendesk_apps_support/engine.rb +1 -0
  9. data/lib/zendesk_apps_support/finders.rb +1 -0
  10. data/lib/zendesk_apps_support/i18n.rb +1 -0
  11. data/lib/zendesk_apps_support/installation.rb +1 -0
  12. data/lib/zendesk_apps_support/installed.rb +1 -0
  13. data/lib/zendesk_apps_support/location.rb +1 -0
  14. data/lib/zendesk_apps_support/manifest.rb +2 -1
  15. data/lib/zendesk_apps_support/manifest/location_options.rb +1 -0
  16. data/lib/zendesk_apps_support/manifest/no_override_hash.rb +1 -0
  17. data/lib/zendesk_apps_support/manifest/parameter.rb +3 -2
  18. data/lib/zendesk_apps_support/package.rb +3 -2
  19. data/lib/zendesk_apps_support/product.rb +1 -0
  20. data/lib/zendesk_apps_support/sass_functions.rb +1 -0
  21. data/lib/zendesk_apps_support/stylesheet_compiler.rb +1 -0
  22. data/lib/zendesk_apps_support/validations/banner.rb +1 -0
  23. data/lib/zendesk_apps_support/validations/manifest.rb +7 -7
  24. data/lib/zendesk_apps_support/validations/marketplace.rb +2 -1
  25. data/lib/zendesk_apps_support/validations/requirements.rb +1 -0
  26. data/lib/zendesk_apps_support/validations/source.rb +3 -2
  27. data/lib/zendesk_apps_support/validations/stylesheets.rb +1 -0
  28. data/lib/zendesk_apps_support/validations/svg.rb +1 -0
  29. data/lib/zendesk_apps_support/validations/templates.rb +1 -0
  30. data/lib/zendesk_apps_support/validations/translations.rb +2 -1
  31. data/lib/zendesk_apps_support/validations/validation_error.rb +1 -0
  32. metadata +11 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: d10ac2adce861c9b73ab9101e7606305d34b1741db038c458e22cc574e37a5d3
4
- data.tar.gz: d41cc50438b65b960d20baaa26a5ab14f522cd935e3aa84cabf51a63835ea806
2
+ SHA1:
3
+ metadata.gz: 651dbb4885312a3344235f1fc67430b4292378d8
4
+ data.tar.gz: 872abbf352ba3f02cae8a6902e0a09e203c9a303
5
5
  SHA512:
6
- metadata.gz: 698940e0eb1029f3181251dba53d537333c029ca1bed06831045b1c26b1508035ab0b7f3b15b83d428c796d151ed9531a9d6f90e599507cf44c5e4b5f692c295
7
- data.tar.gz: bd61dc59a6b09dff757172bd03eef673df6138257a00d3d36df12b1867036e93f2c13839c6f440015e74a0bc94cf6407a2fccbd63386f3d88d283900b12822d2
6
+ metadata.gz: 3648f0308aa79e2b962de36da307d8c8ca178b148d30ca2b81bbcd2f58d4cb9b2b740059da7353873d04c4082b6b3f70341af561d6efe86db7d36404c68e34bb
7
+ data.tar.gz: 14475794f8d8578fa05355ac485beb08cb463284b85868cd20dd688c3ba16369b39672dfd22864c0f960f480e30b244ceaf6783a75917d8c1e2f56c6be73b5e0
@@ -35,11 +35,6 @@ parts:
35
35
  key: "txt.apps.admin.error.app_build.no_framework_version_required"
36
36
  title: "App builder job: ban framework version while requirements only"
37
37
  value: "Framework versions can't be set when you specify requirements only"
38
- - translation:
39
- key: "txt.apps.admin.error.app_build.no_app_js_required"
40
- title: "App builder job: ban app.js while requirements only"
41
- value: "Do not set your app to requirements only if you need app.js"
42
- obsolete: "2016-02-28"
43
38
  - translation:
44
39
  key: "txt.apps.admin.error.app_build.manifest_not_json"
45
40
  title: "App builder job: manifest is invalid JSON error"
@@ -187,18 +182,8 @@ parts:
187
182
  - translation:
188
183
  key: "txt.apps.admin.error.app_build.signed_setting_uri"
189
184
  title: "App builder job: invalid URI for an iframe in the manifest. The `manifest` is a setting file, the `signed url` is https://cloud.google.com/storage/docs/access-control/signed-urls"
190
- value: "the url (%{uri}) cannot use a setting because it is a signed url"
185
+ value: "The url (%{uri}) cannot use a setting because it is a signed url."
191
186
  screenshot: "https://drive.google.com/open?id=1oQmBeGfNT5EDaEH3oEQoNjaCzBw5XAvL"
192
- - translation:
193
- key: "txt.apps.admin.error.app_build.duplicate_location.one"
194
- title: "App builder job: duplicate locations"
195
- value: "%{duplicate_locations} is a duplicate location."
196
- obsolete: "2016-12-31"
197
- - translation:
198
- key: "txt.apps.admin.error.app_build.duplicate_location.other"
199
- title: "App builder job: duplicate locations"
200
- value: "%{duplicate_locations} are duplicate locations."
201
- obsolete: "2016-12-31"
202
187
  - translation:
203
188
  key: "txt.apps.admin.error.app_build.name_as_parameter_name"
204
189
  title: "App builder job: error message when developer names a parameter 'name'"
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  require 'zendesk_apps_support/engine'
4
5
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class AppFile
4
5
  attr_reader :relative_path
@@ -1,8 +1,9 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class AppRequirement
4
- TYPES = %w(automations channel_integrations
5
+ TYPES = %w[automations channel_integrations
5
6
  macros targets views ticket_fields triggers
6
- user_fields organization_fields).freeze
7
+ user_fields organization_fields].freeze
7
8
  end
8
9
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  # At any point in time, we support up to four versions:
4
5
  # * deprecated -- we will still serve apps targeting the deprecated version,
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  module BuildTranslation
4
5
  I18N_TITLE_KEY = 'title'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  if Object.const_defined?(:Rails) && Rails.const_defined?(:Engine)
3
4
 
4
5
  module ZendeskAppsSupport
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  module Finders
4
5
  class RecordNotFound < StandardError
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  module I18n
4
5
  class << self
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class Installation
4
5
  attr_accessor :id, :app_id, :app_name, :requirements, :settings, :enabled, :collapsible, :updated_at, :created_at
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'erubis'
3
4
 
4
5
  module ZendeskAppsSupport
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class Location
4
5
  extend ZendeskAppsSupport::Finders
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class Manifest
4
5
  LEGACY_URI_STUB = '_legacy'
@@ -82,7 +83,7 @@ module ZendeskAppsSupport
82
83
  noTemplate: no_template_locations,
83
84
  singleInstall: single_install?,
84
85
  signedUrls: signed_urls?
85
- }.select { |_k, v| !v.nil? }
86
+ }.reject { |_k, v| v.nil? }
86
87
  end
87
88
 
88
89
  def unknown_locations(host)
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class Manifest
4
5
  class LocationOptions
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class Manifest
4
5
  class OverrideError < StandardError
@@ -1,9 +1,10 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class Manifest
4
5
  class Parameter
5
- TYPES = %w(text password checkbox url number multiline hidden).freeze
6
- ATTRIBUTES = %i(name type required secure default).freeze
6
+ TYPES = %w[text password checkbox url number multiline hidden].freeze
7
+ ATTRIBUTES = %i[name type required secure default].freeze
7
8
  attr_reader(*ATTRIBUTES)
8
9
  def default?
9
10
  @has_default
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'pathname'
3
4
  require 'erubis'
4
5
  require 'json'
@@ -15,7 +16,7 @@ module ZendeskAppsSupport
15
16
  DEFAULT_SCSS = File.read(File.expand_path('../assets/default_styles.scss', __FILE__))
16
17
  SRC_TEMPLATE = Erubis::Eruby.new(File.read(File.expand_path('../assets/src.js.erb', __FILE__)))
17
18
 
18
- LOCATIONS_WITH_ICONS = %w(top_bar nav_bar system_top_bar ticket_editor).freeze
19
+ LOCATIONS_WITH_ICONS = %w[top_bar nav_bar system_top_bar ticket_editor].freeze
19
20
 
20
21
  attr_reader :lib_root, :root, :warnings
21
22
 
@@ -326,7 +327,7 @@ module ZendeskAppsSupport
326
327
  {
327
328
  'inactive' => inactive_png
328
329
  }.tap do |icon_state_hash|
329
- %w(active hover).each do |state|
330
+ %w[active hover].each do |state|
330
331
  specific_png = "#{product_directory}icon_#{location}_#{state}.png"
331
332
  selected_png = has_file?("assets/#{specific_png}") ? specific_png : inactive_png
332
333
  icon_state_hash[state] = selected_png
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  class Product
4
5
  extend ZendeskAppsSupport::Finders
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'sass'
3
4
 
4
5
  module Sass::Script::Functions
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'sass'
3
4
  require 'sassc'
4
5
  require 'zendesk_apps_support/sass_functions'
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'image_size'
3
4
 
4
5
  module ZendeskAppsSupport
@@ -1,13 +1,14 @@
1
1
  # rubocop:disable ModuleLength
2
2
  # frozen_string_literal: true
3
+
3
4
  require 'uri'
4
5
 
5
6
  module ZendeskAppsSupport
6
7
  module Validations
7
8
  module Manifest
8
9
  RUBY_TO_JSON = ZendeskAppsSupport::Manifest::RUBY_TO_JSON
9
- REQUIRED_MANIFEST_FIELDS = RUBY_TO_JSON.select { |k| %i(author default_locale).include? k }.freeze
10
- OAUTH_REQUIRED_FIELDS = %w(client_id client_secret authorize_uri access_token_uri).freeze
10
+ REQUIRED_MANIFEST_FIELDS = RUBY_TO_JSON.select { |k| %i[author default_locale].include? k }.freeze
11
+ OAUTH_REQUIRED_FIELDS = %w[client_id client_secret authorize_uri access_token_uri].freeze
11
12
  PARAMETER_TYPES = ZendeskAppsSupport::Manifest::Parameter::TYPES
12
13
 
13
14
  class << self
@@ -21,7 +22,6 @@ module ZendeskAppsSupport
21
22
  end
22
23
 
23
24
  collate_manifest_errors(package)
24
-
25
25
  rescue JSON::ParserError => e
26
26
  return [ValidationError.new(:manifest_not_json, errors: e)]
27
27
  rescue ZendeskAppsSupport::Manifest::OverrideError => e
@@ -94,20 +94,20 @@ module ZendeskAppsSupport
94
94
  end
95
95
 
96
96
  def string_error(manifest)
97
- manifest_strings = %i(
97
+ manifest_strings = %i[
98
98
  default_locale
99
99
  version
100
100
  framework_version
101
101
  remote_installation_url
102
102
  terms_conditions_url
103
103
  google_analytics_code
104
- )
104
+ ]
105
105
  errors = manifest_strings.map do |field|
106
106
  validate_string(manifest.public_send(field), field)
107
107
  end
108
108
 
109
109
  if manifest.author
110
- author_strings = %w(name email url)
110
+ author_strings = %w[name email url]
111
111
  errors << (author_strings.map do |field|
112
112
  validate_string(manifest.author[field], "author #{field}")
113
113
  end)
@@ -116,7 +116,7 @@ module ZendeskAppsSupport
116
116
  end
117
117
 
118
118
  def boolean_error(manifest)
119
- booleans = %i(requirements_only marketing_only single_install signed_urls private)
119
+ booleans = %i[requirements_only marketing_only single_install signed_urls private]
120
120
  errors = []
121
121
  RUBY_TO_JSON.each do |ruby, json|
122
122
  if booleans.include? ruby
@@ -1,8 +1,9 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  module Validations
4
5
  module Marketplace
5
- WHITELISTED_EXPERIMENTS = %w(hashParams newCssCompiler).freeze
6
+ WHITELISTED_EXPERIMENTS = %w[hashParams newCssCompiler].freeze
6
7
 
7
8
  class << self
8
9
  def call(package)
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  module Validations
4
5
  module Requirements
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'jshintrb'
3
4
 
4
5
  module ZendeskAppsSupport
@@ -15,8 +16,8 @@ module ZendeskAppsSupport
15
16
  sub: true,
16
17
 
17
18
  # predefined globals:
18
- predef: %w(_ console services helpers alert confirm self
19
- JSON Base64 require module exports moment),
19
+ predef: %w[_ console services helpers alert confirm self
20
+ JSON Base64 require module exports moment],
20
21
 
21
22
  browser: true
22
23
  }.freeze
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'zendesk_apps_support/stylesheet_compiler'
3
4
 
4
5
  module ZendeskAppsSupport
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'loofah'
3
4
 
4
5
  module ZendeskAppsSupport
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module ZendeskAppsSupport
3
4
  module Validations
4
5
  module Templates
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'jshintrb'
3
4
  require 'json'
4
5
 
@@ -135,7 +136,7 @@ module ZendeskAppsSupport
135
136
  end
136
137
 
137
138
  def get_missing_keys(package, keys)
138
- public_app_keys = %w(name short_description installation_instructions long_description)
139
+ public_app_keys = %w[name short_description installation_instructions long_description]
139
140
  mandatory_keys = package.manifest.private? ? ['name'] : public_app_keys
140
141
 
141
142
  # since we support description as well as short_description for backwards compatibility,
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'json'
3
4
 
4
5
  module ZendeskAppsSupport
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.10.0
4
+ version: 4.11.0
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: 2018-03-14 00:00:00.000000000 Z
14
+ date: 2018-04-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: i18n
@@ -115,30 +115,30 @@ dependencies:
115
115
  name: loofah
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - ">="
118
+ - - "~>"
119
119
  - !ruby/object:Gem::Version
120
- version: '0'
120
+ version: 2.2.1
121
121
  type: :runtime
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - ">="
125
+ - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: '0'
127
+ version: 2.2.1
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: nokogiri
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - "~>"
133
133
  - !ruby/object:Gem::Version
134
- version: 1.6.8
134
+ version: 1.8.1
135
135
  type: :runtime
136
136
  prerelease: false
137
137
  version_requirements: !ruby/object:Gem::Requirement
138
138
  requirements:
139
139
  - - "~>"
140
140
  - !ruby/object:Gem::Version
141
- version: 1.6.8
141
+ version: 1.8.1
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: rspec
144
144
  requirement: !ruby/object:Gem::Requirement
@@ -187,14 +187,14 @@ dependencies:
187
187
  requirements:
188
188
  - - "~>"
189
189
  - !ruby/object:Gem::Version
190
- version: 0.46.0
190
+ version: 0.49.0
191
191
  type: :development
192
192
  prerelease: false
193
193
  version_requirements: !ruby/object:Gem::Requirement
194
194
  requirements:
195
195
  - - "~>"
196
196
  - !ruby/object:Gem::Version
197
- version: 0.46.0
197
+ version: 0.49.0
198
198
  - !ruby/object:Gem::Dependency
199
199
  name: byebug
200
200
  requirement: !ruby/object:Gem::Requirement
@@ -274,7 +274,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
274
  version: 1.3.6
275
275
  requirements: []
276
276
  rubyforge_project:
277
- rubygems_version: 2.7.6
277
+ rubygems_version: 2.6.8
278
278
  signing_key:
279
279
  specification_version: 4
280
280
  summary: Support to help you develop Zendesk Apps.