zendesk_apps_support 3.4.5 → 3.5.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: 99f78e45efd544037efc8773f9c6bc6573864e0d
4
- data.tar.gz: 5b5fdbc2f694b12aeb30abcdaee2776b4d35cf40
3
+ metadata.gz: 4989892ae59b6757887256e7546490877f807907
4
+ data.tar.gz: 5d5f77a49ffded79659ac94fb949a402791c6e98
5
5
  SHA512:
6
- metadata.gz: 16869dd1c60567d06c63756cb72007701f97627d63974bdfd7078e60b329eb7b62bb91a0acbd7b63965d1941884ef0bb7cceb56166e5e4c8a9fe9c7d169e4ddc
7
- data.tar.gz: 1eec8327b122efc60ea8f918bac97750252d0a552a1bb6a705c51d9ecd6023c7740afee1055be5de248dcac8e714d530cd669bd73c3cec233599821a8ae53847
6
+ metadata.gz: 21c8ffd2a39ac6d0a7ccf666035ce06997616aa9e88af988ce19f79e1dd021886865dce5fce22d9eac9037e0a2c9ebba904c8b7fe1eab520c409a3a7cf7d7284
7
+ data.tar.gz: dde683e6071c2b52f408c138076bc4685b7edb1e7a9ae57c2ecffef152bbba3cd76e31c3a94c9309bc85970c1f4c00da5ec6bc13b5d477d938bb44cb6274ad3e
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Zendesk Apps Support
2
2
 
3
3
  ## Description
4
- Classes to manage and validate zendesk apps. This is a gem used in [Zendesk Apps Tools](https://github.com/zendesk/zendesk_apps_tools/).
4
+ Classes to manage and validate Zendesk Apps. This is a gem used in [Zendesk Apps Tools](https://github.com/zendesk/zendesk_apps_tools/).
5
5
 
6
6
  ## Owners
7
7
  This repo is owned and maintained by the Zendesk Apps team. You can reach us on vegemite@zendesk.com. We are located in Melbourne!
@@ -92,6 +92,7 @@ en:
92
92
  invalid_format: "%{field} is invalid for translation."
93
93
  not_json: "%{file} is not valid JSON. %{errors}"
94
94
  not_json_object: "%{file} is not a JSON object."
95
+ missing_required_key: 'Missing required key from %{file}: %{missing_key}'
95
96
  stylesheet_error: 'Sass error: %{sass_error}'
96
97
  invalid_type_parameter:
97
98
  one: "%{invalid_types} is an invalid parameter type."
@@ -234,6 +234,10 @@ parts:
234
234
  key: "txt.apps.admin.error.app_build.translation.not_json_object"
235
235
  title: "App builder job: translation file is not a JSON object"
236
236
  value: "%{file} is not a JSON object."
237
+ - translation:
238
+ key: "txt.apps.admin.error.app_build.translation.missing_required_key"
239
+ title: "App builder job: required key missing from translation file"
240
+ value: "Missing required key from %{file}: %{missing_key}"
237
241
  - translation:
238
242
  key: "txt.apps.admin.error.app_build.stylesheet_error"
239
243
  title: "App builder job: invalid stylesheet syntax"
@@ -47,8 +47,10 @@ module ZendeskAppsSupport
47
47
 
48
48
  def products
49
49
  @products ||=
50
- if requirements_only? || marketing_only?
50
+ if requirements_only?
51
51
  [ Product::SUPPORT ]
52
+ elsif marketing_only?
53
+ products_ignore_locations || [ Product::SUPPORT ]
52
54
  else
53
55
  products_from_locations
54
56
  end
@@ -138,6 +140,12 @@ module ZendeskAppsSupport
138
140
  .map { |code| Product.find_by(code: code) }
139
141
  end
140
142
 
143
+ def products_ignore_locations
144
+ locations.keys.map do |product_name|
145
+ Product.find_by(name: product_name)
146
+ end
147
+ end
148
+
141
149
  def set_locations_and_hosts
142
150
  @locations =
143
151
  case original_locations
@@ -243,7 +243,7 @@ module ZendeskAppsSupport
243
243
  def runtime_translations(translations)
244
244
  result = translations.dup
245
245
  result.delete('name')
246
- result.delete('description')
246
+ result.delete('short_description')
247
247
  result.delete('long_description')
248
248
  result.delete('installation_instructions')
249
249
  result
@@ -251,6 +251,7 @@ module ZendeskAppsSupport
251
251
 
252
252
  def process_translations(locale_path)
253
253
  translations = File.exist?(locale_path) ? JSON.parse(File.read(locale_path)) : {}
254
+ translations['app'].delete('name') if translations.key?('app')
254
255
  translations['app'].delete('package') if translations.key?('app')
255
256
  remove_zendesk_keys(translations)
256
257
  end
@@ -17,6 +17,7 @@ module ZendeskAppsSupport
17
17
  path_match = TRANSLATIONS_PATH.match(file.relative_path)
18
18
  if path_match
19
19
  errors << locale_error(file, path_match[1]) << json_error(file)
20
+ errors << required_keys(file) if errors.compact.empty?
20
21
  end
21
22
  end.compact
22
23
  end
@@ -47,6 +48,14 @@ module ZendeskAppsSupport
47
48
  ValidationError.new('translation.not_json', file: file.relative_path, errors: e)
48
49
  end
49
50
 
51
+ def required_keys(file)
52
+ return if file.relative_path != 'translations/en.json' || JSON.parse(file.read)['app']['name']
53
+
54
+ ValidationError.new('translation.missing_required_key',
55
+ file: file.relative_path,
56
+ missing_key: 'app.name')
57
+ end
58
+
50
59
  def validate_translation_format(json)
51
60
  json.keys.each do |key|
52
61
  raise TranslationFormatError, "'#{key}': '#{json[key]}'" unless json[key].is_a? Hash
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.4.5
4
+ version: 3.5.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: 2017-07-17 00:00:00.000000000 Z
14
+ date: 2017-08-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: i18n