zendesk_apps_tools 2.9.8 → 2.10.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 +5 -5
- data/lib/zendesk_apps_tools/command.rb +57 -9
- data/lib/zendesk_apps_tools/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3b836fad3af7977e63d41940bc67b89d06a25ee1c8e1e6d78f0538430275df61
|
4
|
+
data.tar.gz: 949c5789c5b2024e4b57635543aa700492ebc95d0b0be32f0717eb74e9c10f1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60fbce20a23e0aa6030a3add5302afe099b89c7724ed0a27fff960e5940735123533e7ff00f6cba07df4f38330689edf888952ffbbc1a510bfc1676b5b2ee4d1
|
7
|
+
data.tar.gz: 6760e9b4f6438e2bf813b433cec4c52a77500e394be8b0064a2cc3c2ce96fa899624058cd3a529129db2c09397542db83b95c5edc3fa9143abdd18cd6cc0e850
|
@@ -33,6 +33,10 @@ module ZendeskAppsTools
|
|
33
33
|
default: false,
|
34
34
|
hide: true,
|
35
35
|
desc: 'Create a version 1 app template (Deprecated)'
|
36
|
+
method_option :scaffold, type: :boolean,
|
37
|
+
default: false,
|
38
|
+
hide: true,
|
39
|
+
desc: 'Create a version 2 app template with latest scaffold'
|
36
40
|
def new
|
37
41
|
run_deprecation_checks('error', '1.0') if options[:v1]
|
38
42
|
|
@@ -50,18 +54,32 @@ module ZendeskAppsTools
|
|
50
54
|
@app_name = get_value_from_stdin("Enter a name for this new app:\n",
|
51
55
|
error_msg: invalid.call('app name'))
|
52
56
|
|
53
|
-
@iframe_location =
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
57
|
+
@iframe_location =
|
58
|
+
if options[:scaffold]
|
59
|
+
'assets/iframe.html'
|
60
|
+
elsif options[:v1]
|
61
|
+
'_legacy'
|
62
|
+
else
|
63
|
+
iframe_uri_text = 'Enter your iFrame URI or leave it blank to use'\
|
64
|
+
" a default local template page:\n"
|
65
|
+
get_value_from_stdin(iframe_uri_text, allow_empty: true, default: 'assets/iframe.html')
|
66
|
+
end
|
60
67
|
|
61
68
|
prompt_new_app_dir
|
62
69
|
|
63
|
-
directory_options =
|
70
|
+
directory_options =
|
71
|
+
if options[:scaffold]
|
72
|
+
# excludes everything but manifest.json
|
73
|
+
{ exclude_pattern: /^((?!manifest.json).)*$/ }
|
74
|
+
elsif @iframe_location != 'assets/iframe.html'
|
75
|
+
{ exclude_pattern: /iframe.html/ }
|
76
|
+
else
|
77
|
+
{}
|
78
|
+
end
|
79
|
+
|
64
80
|
directory('app_template_iframe', @app_dir, directory_options)
|
81
|
+
|
82
|
+
download_scaffold(@app_dir) if options[:scaffold]
|
65
83
|
end
|
66
84
|
|
67
85
|
desc 'validate', 'Validate your app'
|
@@ -122,7 +140,7 @@ module ZendeskAppsTools
|
|
122
140
|
method_option :path, default: './', required: false, aliases: '-p'
|
123
141
|
def clean
|
124
142
|
require 'fileutils'
|
125
|
-
|
143
|
+
|
126
144
|
setup_path(options[:path])
|
127
145
|
|
128
146
|
return unless File.exist?(Pathname.new(File.join(app_dir, 'tmp')).to_s)
|
@@ -299,5 +317,35 @@ module ZendeskAppsTools
|
|
299
317
|
say_status 'warning', 'Unable to check for new versions of zendesk_apps_tools gem', :yellow
|
300
318
|
end
|
301
319
|
end
|
320
|
+
|
321
|
+
def download_scaffold(app_dir)
|
322
|
+
tmp_download_name = 'scaffold-download-temp.zip'
|
323
|
+
manifest_pattern = /manifest.json$/
|
324
|
+
manifest_path = ''
|
325
|
+
scaffold_url = 'https://github.com/zendesk/app_scaffold/archive/master.zip'
|
326
|
+
begin
|
327
|
+
require 'open-uri'
|
328
|
+
require 'zip'
|
329
|
+
download = open(scaffold_url)
|
330
|
+
IO.copy_stream(download, tmp_download_name)
|
331
|
+
Zip::File.open(tmp_download_name) do |zip_file|
|
332
|
+
zip_file.each do |entry|
|
333
|
+
filename = entry.name.sub('app_scaffold-master/','')
|
334
|
+
if manifest_pattern.match?(filename)
|
335
|
+
manifest_path = filename[0..-14]
|
336
|
+
else
|
337
|
+
say_status 'info', "Extracting #{filename}"
|
338
|
+
entry.extract("#{app_dir}/#{filename}")
|
339
|
+
end
|
340
|
+
end
|
341
|
+
end
|
342
|
+
say_status 'info', 'Moving manifest.json'
|
343
|
+
FileUtils.mv("#{app_dir}/manifest.json", "#{app_dir}/#{manifest_path}")
|
344
|
+
say_status 'info', 'App created'
|
345
|
+
rescue StandardError => e
|
346
|
+
say_error "We encountered an error while creating your app: #{e.message}"
|
347
|
+
end
|
348
|
+
File.delete(tmp_download_name) if File.exist?(tmp_download_name)
|
349
|
+
end
|
302
350
|
end
|
303
351
|
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: 2.
|
4
|
+
version: 2.10.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-
|
14
|
+
date: 2018-09-26 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: thor
|
@@ -321,18 +321,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
321
321
|
version: 1.3.6
|
322
322
|
requirements: []
|
323
323
|
rubyforge_project:
|
324
|
-
rubygems_version: 2.6
|
324
|
+
rubygems_version: 2.7.6
|
325
325
|
signing_key:
|
326
326
|
specification_version: 4
|
327
327
|
summary: Tools to help you develop Zendesk Apps.
|
328
328
|
test_files:
|
329
|
-
- features/clean.feature
|
330
329
|
- features/create.feature
|
331
|
-
- features/
|
330
|
+
- features/validate.feature
|
332
331
|
- features/new.feature
|
333
|
-
- features/
|
334
|
-
- features/step_definitions/app_steps.rb
|
335
|
-
- features/support/env.rb
|
332
|
+
- features/clean.feature
|
336
333
|
- features/support/helpers.rb
|
337
334
|
- features/support/webmock.rb
|
338
|
-
- features/
|
335
|
+
- features/support/env.rb
|
336
|
+
- features/step_definitions/app_steps.rb
|
337
|
+
- features/fixtures/quote_character_translation.json
|
338
|
+
- features/package.feature
|