zendesk_apps_tools 1.29.0 → 1.30.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: 36ee652e6e086cb84215c7031d59b74720297106
4
- data.tar.gz: 276c247e757b2515224c95c8e70feda75d75d625
3
+ metadata.gz: 6071142dc8a358f7fd8f51064eb763ce6aaef8c2
4
+ data.tar.gz: c22c2dd78ab4515e61b23ebeca4c318fdab33aa2
5
5
  SHA512:
6
- metadata.gz: 5674be616d6d6ae41363e1cd9ceba758ab128f526d6cdf25ba954831c48131370d3ccae91b3ba9e1f3eb4b9ddbd5ed5b7460713d7df143dfa26990dea1aed1b4
7
- data.tar.gz: b3d2e7cae634d1259360574b76d5f215780b972329ec9d578fd9e1baf0f6859699ec680ad0d3f1e852c12927c6bf109b81ea87e32e62c26a34421957ad9df5a9
6
+ metadata.gz: 120cfaf7867651a8c813bb4dd40645e4f5ca536cfaa6afba57c8db0c64384a45c221d84eaf1a38b5f85e7ebf62ce3755ad8346eb9cec168200bff951a3fe9ff7
7
+ data.tar.gz: d294f305422e01b12c1c92f07d9155e1777697b8df337413a0119efee4d8eb3b552cdb3a58e4be2b60e8f049eef3ff47c44b23f10896ed16a7de4a1a92b88c24
@@ -8,19 +8,18 @@ module ZendeskAppsTools
8
8
  response = connection.send(connection_method) do |req|
9
9
  req.url url
10
10
  req.headers[:content_type] = 'application/json'
11
-
12
11
  req.body = JSON.generate body
13
12
  end
14
13
 
15
14
  check_status response
16
15
 
17
- rescue Faraday::Error::ClientError => e
16
+ rescue Faraday::Error::ClientError, JSON::ParserError => e
18
17
  say_error_and_exit e.message
19
18
  end
20
19
 
21
20
  def upload(path)
22
21
  connection = get_connection :multipart
23
- zipfile_path = options[:zipfile]
22
+ zipfile_path = options[:zipfile]
24
23
 
25
24
  if zipfile_path
26
25
  package_path = zipfile_path
@@ -34,9 +33,7 @@ module ZendeskAppsTools
34
33
  response = connection.post('/api/v2/apps/uploads.json', payload)
35
34
  JSON.parse(response.body)['id']
36
35
 
37
- rescue Faraday::Error::ClientError => e
38
- say_error_and_exit e.message
39
- rescue JSON::ParserError => e
36
+ rescue Faraday::Error::ClientError, JSON::ParserError => e
40
37
  say_error_and_exit e.message
41
38
  end
42
39
 
@@ -11,14 +11,18 @@ module ZendeskAppsTools
11
11
  def zip(archive_path)
12
12
  Zip::ZipFile.open(archive_path, 'w') do |zipfile|
13
13
  app_package.files.each do |file|
14
- path = file.relative_path
14
+ relative_path = file.relative_path
15
+ path = relative_path
15
16
  say_status 'package', "adding #{path}"
16
17
 
17
18
  # resolve symlink to source path
18
19
  if File.symlink? file.absolute_path
19
20
  path = File.expand_path(File.readlink(file.absolute_path), File.dirname(file.absolute_path))
20
21
  end
21
- zipfile.add(file.relative_path, app_dir.join(path).to_s)
22
+ if file.to_s == 'app.scss'
23
+ relative_path = relative_path.sub 'app.scss', 'app.css'
24
+ end
25
+ zipfile.add(relative_path, app_dir.join(path).to_s)
22
26
  end
23
27
  end
24
28
  end
@@ -49,22 +49,22 @@ module ZendeskAppsTools
49
49
 
50
50
  desc 'update', 'Update translation files from Zendesk'
51
51
  method_option :path, default: './', required: false
52
- def update(request_builder = Faraday.new)
52
+ def update()
53
53
  setup_path(options[:path]) if options[:path]
54
54
  app_package = get_value_from_stdin('What is the package name for this app? (without app_)', valid_regex: /^[a-z_]+$/, error_msg: 'Invalid package name, try again:')
55
55
 
56
56
  key_prefix = "txt.apps.#{app_package}."
57
57
 
58
58
  say('Fetching translations...')
59
- locale_response = api_request(LOCALE_ENDPOINT, request_builder)
59
+ locale_response = Faraday.get(LOCALE_ENDPOINT)
60
60
 
61
61
  if locale_response.status == 200
62
62
  locales = JSON.parse(locale_response.body)['locales']
63
63
 
64
+ locales = locales.map { |locale| fetch_locale_async locale, app_package}.map(&:value)
65
+
64
66
  locales.each do |locale|
65
- locale_url = "#{locale['url']}?include=translations&packages=app_#{app_package}"
66
- locale_response = api_request(locale_url, request_builder).body
67
- translations = JSON.parse(locale_response)['locale']['translations']
67
+ translations = locale['translations']
68
68
 
69
69
  locale_name = ZendeskAppsTools::LocaleIdentifier.new(locale['locale']).locale_id
70
70
  write_json("#{destination_root}/translations/#{locale_name}.json", nest_translations_hash(translations, key_prefix))
@@ -95,6 +95,14 @@ module ZendeskAppsTools
95
95
  end
96
96
 
97
97
  no_commands do
98
+ def fetch_locale_async(locale, app_package)
99
+ Thread.new do
100
+ say("Fetching #{locale['locale']}")
101
+ json = Faraday.get("#{locale['url']}?include=translations&packages=app_#{app_package}").body
102
+ JSON.parse(json)['locale']
103
+ end
104
+ end
105
+
98
106
  def setup_path(path)
99
107
  @destination_stack << relative_to_original_destination_root(path) unless @destination_stack.last == path
100
108
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_apps_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.0
4
+ version: 1.30.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: 2016-02-22 00:00:00.000000000 Z
14
+ date: 2016-04-22 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: thor
@@ -226,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
226
  version: 1.3.6
227
227
  requirements: []
228
228
  rubyforge_project:
229
- rubygems_version: 2.4.5.1
229
+ rubygems_version: 2.6.3
230
230
  signing_key:
231
231
  specification_version: 4
232
232
  summary: Tools to help you develop Zendesk Apps.
@@ -238,4 +238,3 @@ test_files:
238
238
  - features/step_definitions/app_steps.rb
239
239
  - features/support/env.rb
240
240
  - features/validate.feature
241
- has_rdoc: