planter-cli 3.0.1 → 3.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.gitmodules +3 -0
- data/.rubocop.yml +1 -2
- data/CHANGELOG.md +24 -0
- data/README.md +85 -4
- data/bin/plant +1 -1
- data/docker/Dockerfile +2 -4
- data/docker/Dockerfile-2.6 +4 -5
- data/docker/Dockerfile-2.7 +4 -5
- data/docker/Dockerfile-3.0 +4 -4
- data/docker/Dockerfile-3.3 +12 -0
- data/docker/bash_profile +2 -1
- data/docker/sources.list +11 -0
- data/lib/planter/array.rb +56 -1
- data/lib/planter/filelist.rb +5 -4
- data/lib/planter/hash.rb +24 -0
- data/lib/planter/plant.rb +6 -4
- data/lib/planter/prompt.rb +56 -16
- data/lib/planter/string.rb +143 -5
- data/lib/planter/tag.rb +39 -2
- data/lib/planter/version.rb +1 -1
- data/lib/planter.rb +30 -17
- data/lib/tty-spinner/.editorconfig +9 -0
- data/lib/tty-spinner/.github/FUNDING.yml +1 -0
- data/lib/tty-spinner/.github/ISSUE_TEMPLATE/BUG_REPORT.md +31 -0
- data/lib/tty-spinner/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +23 -0
- data/lib/tty-spinner/.github/ISSUE_TEMPLATE/config.yml +5 -0
- data/lib/tty-spinner/.github/PULL_REQUEST_TEMPLATE.md +19 -0
- data/lib/tty-spinner/.github/workflows/ci.yml +59 -0
- data/lib/tty-spinner/.gitignore +14 -0
- data/lib/tty-spinner/.rspec +2 -0
- data/lib/tty-spinner/.rubocop.yml +78 -0
- data/lib/tty-spinner/CHANGELOG.md +151 -0
- data/lib/tty-spinner/CODE_OF_CONDUCT.md +132 -0
- data/lib/tty-spinner/Gemfile +17 -0
- data/lib/tty-spinner/LICENSE.txt +22 -0
- data/lib/tty-spinner/README.md +581 -0
- data/lib/tty-spinner/Rakefile +10 -0
- data/lib/tty-spinner/appveyor.yml +33 -0
- data/lib/tty-spinner/bin/console +14 -0
- data/lib/tty-spinner/bin/setup +8 -0
- data/lib/tty-spinner/demo.gif +0 -0
- data/lib/tty-spinner/examples/auto_spin.rb +10 -0
- data/lib/tty-spinner/examples/basic.rb +10 -0
- data/lib/tty-spinner/examples/clear.rb +11 -0
- data/lib/tty-spinner/examples/color.rb +14 -0
- data/lib/tty-spinner/examples/error.rb +11 -0
- data/lib/tty-spinner/examples/formats.rb +13 -0
- data/lib/tty-spinner/examples/hide_cursor.rb +14 -0
- data/lib/tty-spinner/examples/log.rb +13 -0
- data/lib/tty-spinner/examples/multi/basic.rb +15 -0
- data/lib/tty-spinner/examples/multi/basic_top_level.rb +15 -0
- data/lib/tty-spinner/examples/multi/custom_style.rb +28 -0
- data/lib/tty-spinner/examples/multi/files.rb +16 -0
- data/lib/tty-spinner/examples/multi/jobs.rb +11 -0
- data/lib/tty-spinner/examples/multi/multi.rb +19 -0
- data/lib/tty-spinner/examples/multi/multi_top_level.rb +20 -0
- data/lib/tty-spinner/examples/multi/pause.rb +28 -0
- data/lib/tty-spinner/examples/multi/threaded.rb +30 -0
- data/lib/tty-spinner/examples/pause.rb +24 -0
- data/lib/tty-spinner/examples/run.rb +20 -0
- data/lib/tty-spinner/examples/success.rb +11 -0
- data/lib/tty-spinner/examples/threaded.rb +13 -0
- data/lib/tty-spinner/examples/update.rb +13 -0
- data/lib/tty-spinner/lib/tty/spinner/formats.rb +274 -0
- data/lib/tty-spinner/lib/tty/spinner/multi.rb +352 -0
- data/lib/tty-spinner/lib/tty/spinner/version.rb +7 -0
- data/lib/tty-spinner/lib/tty/spinner.rb +604 -0
- data/lib/tty-spinner/lib/tty-spinner.rb +2 -0
- data/lib/tty-spinner/spec/spec_helper.rb +52 -0
- data/lib/tty-spinner/spec/unit/auto_spin_spec.rb +25 -0
- data/lib/tty-spinner/spec/unit/clear_spec.rb +16 -0
- data/lib/tty-spinner/spec/unit/error_spec.rb +53 -0
- data/lib/tty-spinner/spec/unit/events_spec.rb +35 -0
- data/lib/tty-spinner/spec/unit/formats_spec.rb +9 -0
- data/lib/tty-spinner/spec/unit/frames_spec.rb +31 -0
- data/lib/tty-spinner/spec/unit/hide_cursor_spec.rb +51 -0
- data/lib/tty-spinner/spec/unit/job_spec.rb +12 -0
- data/lib/tty-spinner/spec/unit/join_spec.rb +10 -0
- data/lib/tty-spinner/spec/unit/log_spec.rb +60 -0
- data/lib/tty-spinner/spec/unit/multi/auto_spin_spec.rb +32 -0
- data/lib/tty-spinner/spec/unit/multi/error_spec.rb +107 -0
- data/lib/tty-spinner/spec/unit/multi/line_inset_spec.rb +57 -0
- data/lib/tty-spinner/spec/unit/multi/on_spec.rb +11 -0
- data/lib/tty-spinner/spec/unit/multi/register_spec.rb +46 -0
- data/lib/tty-spinner/spec/unit/multi/spin_spec.rb +101 -0
- data/lib/tty-spinner/spec/unit/multi/stop_spec.rb +95 -0
- data/lib/tty-spinner/spec/unit/multi/success_spec.rb +108 -0
- data/lib/tty-spinner/spec/unit/new_spec.rb +25 -0
- data/lib/tty-spinner/spec/unit/pause_spec.rb +43 -0
- data/lib/tty-spinner/spec/unit/reset_spec.rb +19 -0
- data/lib/tty-spinner/spec/unit/run_spec.rb +30 -0
- data/lib/tty-spinner/spec/unit/spin_spec.rb +117 -0
- data/lib/tty-spinner/spec/unit/stop_spec.rb +88 -0
- data/lib/tty-spinner/spec/unit/success_spec.rb +53 -0
- data/lib/tty-spinner/spec/unit/tty_spec.rb +8 -0
- data/lib/tty-spinner/spec/unit/update_spec.rb +85 -0
- data/lib/tty-spinner/tasks/console.rake +11 -0
- data/lib/tty-spinner/tasks/coverage.rake +11 -0
- data/lib/tty-spinner/tasks/spec.rake +29 -0
- data/lib/tty-spinner/tty-spinner.gemspec +36 -0
- data/scripts/runtests.sh +1 -1
- data/spec/cli_spec.rb +27 -0
- data/spec/planter/string_spec.rb +31 -4
- data/spec/spec_helper.rb +26 -0
- data/spec/templates/test/_planter.yml +3 -6
- data/src/_README.md +85 -4
- metadata +86 -2
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
begin
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
|
6
|
+
desc "Run all specs"
|
7
|
+
RSpec::Core::RakeTask.new(:spec) do |task|
|
8
|
+
task.pattern = "spec/{unit,integration}{,/*/**}/*_spec.rb"
|
9
|
+
end
|
10
|
+
|
11
|
+
namespace :spec do
|
12
|
+
desc "Run unit specs"
|
13
|
+
RSpec::Core::RakeTask.new(:unit) do |task|
|
14
|
+
task.pattern = "spec/unit{,/*/**}/*_spec.rb"
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Run integration specs"
|
18
|
+
RSpec::Core::RakeTask.new(:integration) do |task|
|
19
|
+
task.pattern = "spec/integration{,/*/**}/*_spec.rb"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
rescue LoadError
|
24
|
+
%w[spec spec:unit spec:integration].each do |name|
|
25
|
+
task name do
|
26
|
+
$stderr.puts "In order to run #{name}, do `gem install rspec`"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/tty/spinner/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "tty-spinner"
|
7
|
+
spec.version = TTY::Spinner::VERSION
|
8
|
+
spec.authors = ["Piotr Murach"]
|
9
|
+
spec.email = ["piotr@piotrmurach.com"]
|
10
|
+
spec.summary = %q{A terminal spinner for tasks that have non-deterministic time frame.}
|
11
|
+
spec.description = %q{A terminal spinner for tasks that have non-deterministic time frame.}
|
12
|
+
spec.homepage = "https://ttytoolkit.org"
|
13
|
+
spec.license = "MIT"
|
14
|
+
if spec.respond_to?(:metadata=)
|
15
|
+
spec.metadata = {
|
16
|
+
"allowed_push_host" => "https://rubygems.org",
|
17
|
+
"bug_tracker_uri" => "https://github.com/piotrmurach/tty-spinner/issues",
|
18
|
+
"changelog_uri" => "https://github.com/piotrmurach/tty-spinner/blob/master/CHANGELOG.md",
|
19
|
+
"documentation_uri" => "https://www.rubydoc.info/gems/tty-spinner",
|
20
|
+
"funding_uri" => "https://github.com/sponsors/piotrmurach",
|
21
|
+
"homepage_uri" => spec.homepage,
|
22
|
+
"rubygems_mfa_required" => "true",
|
23
|
+
"source_code_uri" => "https://github.com/piotrmurach/tty-spinner"
|
24
|
+
}
|
25
|
+
end
|
26
|
+
spec.files = Dir["lib/**/*"]
|
27
|
+
spec.extra_rdoc_files = Dir["README.md", "CHANGELOG.md", "LICENSE.txt"]
|
28
|
+
spec.bindir = "exe"
|
29
|
+
spec.require_paths = ["lib"]
|
30
|
+
spec.required_ruby_version = ">= 2.0.0"
|
31
|
+
|
32
|
+
spec.add_dependency "tty-cursor", "~> 0.7"
|
33
|
+
|
34
|
+
spec.add_development_dependency "rake"
|
35
|
+
spec.add_development_dependency "rspec", ">= 3.0"
|
36
|
+
end
|
data/scripts/runtests.sh
CHANGED
data/spec/cli_spec.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'open3'
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
include PlanterHelpers
|
5
|
+
|
6
|
+
describe 'CLI' do
|
7
|
+
TEST_DIR = File.join(File.dirname(__FILE__), 'test')
|
8
|
+
|
9
|
+
before do
|
10
|
+
FileUtils.rm_rf(TEST_DIR)
|
11
|
+
FileUtils.mkdir_p(TEST_DIR)
|
12
|
+
end
|
13
|
+
|
14
|
+
after do
|
15
|
+
FileUtils.rm_rf(TEST_DIR)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'displays help message' do
|
19
|
+
output, stderr, status = planter('--help')
|
20
|
+
expect(output).not_to be_empty
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'plants a new project' do
|
24
|
+
output, stderr, status = planter('--defaults', "--in=#{TEST_DIR}", 'test')
|
25
|
+
expect(File.exist?(File.join(TEST_DIR, 'bollocks_and_beans.rtf'))).to be true
|
26
|
+
end
|
27
|
+
end
|
data/spec/planter/string_spec.rb
CHANGED
@@ -114,6 +114,33 @@ describe ::String do
|
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
117
|
+
describe '.apply_logic' do
|
118
|
+
it 'applies a single logic replacement' do
|
119
|
+
template = 'Hello %%if language == ruby%%World%%else%%There%%end%%!'
|
120
|
+
logic = { language: 'ruby' }
|
121
|
+
expect(template.apply_logic(logic)).to eq 'Hello World!'
|
122
|
+
end
|
123
|
+
|
124
|
+
it 'handles quotes in logic' do
|
125
|
+
template = 'Hello %%if language == "ruby"%%World%%else%%There%%end%%!'
|
126
|
+
logic = { language: 'ruby' }
|
127
|
+
expect(template.apply_logic(logic)).to eq 'Hello World!'
|
128
|
+
end
|
129
|
+
|
130
|
+
it 'handles no logic replacements' do
|
131
|
+
template = 'Hello, World!'
|
132
|
+
logic = {}
|
133
|
+
expect(template.apply_logic(logic)).to eq 'Hello, World!'
|
134
|
+
end
|
135
|
+
|
136
|
+
it 'Operates in place' do
|
137
|
+
template = 'Hello %%if language == "ruby"%%World%%else%%There%%end%%!'
|
138
|
+
logic = { language: 'ruby' }
|
139
|
+
template.apply_logic!(logic)
|
140
|
+
expect(template).to eq 'Hello World!'
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
117
144
|
describe '.apply_regexes' do
|
118
145
|
it 'applies a single regex replacement' do
|
119
146
|
template = 'Hello, World!'
|
@@ -171,15 +198,15 @@ describe ::String do
|
|
171
198
|
end
|
172
199
|
|
173
200
|
it 'normalizes a multiline type' do
|
174
|
-
expect("
|
201
|
+
expect("para".normalize_type.to_s).to eq "multiline"
|
175
202
|
end
|
176
203
|
|
177
204
|
it 'normalizes a class type' do
|
178
|
-
expect("
|
205
|
+
expect("cl".normalize_type.to_s).to eq "class"
|
179
206
|
end
|
180
207
|
|
181
|
-
it 'normalizes a
|
182
|
-
expect("
|
208
|
+
it 'normalizes a multiple choice type' do
|
209
|
+
expect("choice".normalize_type.to_s).to eq "choice"
|
183
210
|
end
|
184
211
|
end
|
185
212
|
|
data/spec/spec_helper.rb
CHANGED
@@ -24,3 +24,29 @@ RSpec.configure do |c|
|
|
24
24
|
end
|
25
25
|
c.add_formatter 'd'
|
26
26
|
end
|
27
|
+
|
28
|
+
require 'open3'
|
29
|
+
require 'time'
|
30
|
+
|
31
|
+
module PlanterHelpers
|
32
|
+
PLANTER_EXEC = File.join(File.dirname(__FILE__), '..', 'exe', 'plant')
|
33
|
+
|
34
|
+
def planter_with_env(env, *args, stdin: nil)
|
35
|
+
pread(env, 'bundle', 'exec', PLANTER_EXEC, "--base-dir=#{File.dirname(__FILE__)}", *args, stdin: stdin)
|
36
|
+
end
|
37
|
+
|
38
|
+
def pread(env, *cmd, stdin: nil)
|
39
|
+
out, err, status = Open3.capture3(env, *cmd, stdin_data: stdin)
|
40
|
+
unless status.success?
|
41
|
+
raise [
|
42
|
+
"Error (#{status}): #{cmd.inspect} failed", "STDOUT:", out.inspect, "STDERR:", err.inspect
|
43
|
+
].join("\n")
|
44
|
+
end
|
45
|
+
|
46
|
+
[out, err, status]
|
47
|
+
end
|
48
|
+
|
49
|
+
def planter(*args, stdin: nil)
|
50
|
+
planter_with_env({}, *args, stdin: stdin)
|
51
|
+
end
|
52
|
+
end
|
@@ -1,12 +1,9 @@
|
|
1
1
|
---
|
2
2
|
variables:
|
3
|
-
- key:
|
3
|
+
- key: project
|
4
4
|
prompt: CLI Prompt
|
5
|
-
type:
|
6
|
-
|
7
|
-
default: "(optional default value, leave empty or remove key for no default)"
|
8
|
-
min: "(optional, for number type set a minimum value)"
|
9
|
-
max: "(optional, for number type set a maximum value)"
|
5
|
+
type: string
|
6
|
+
default: "bollocks and beans"
|
10
7
|
git_init: false
|
11
8
|
files:
|
12
9
|
"*.tmp": ignore
|
data/src/_README.md
CHANGED
@@ -32,9 +32,9 @@ git_init: false
|
|
32
32
|
preserve_tags: true
|
33
33
|
```
|
34
34
|
|
35
|
-
### Scripts
|
35
|
+
### Scripts
|
36
36
|
|
37
|
-
Scripts for execution after planting can be stored in `~/.config/planter/scripts` and referenced by filename only. Alternatively, scripts may be stored within a template in a `
|
37
|
+
Scripts for execution after planting can be stored in `~/.config/planter/scripts` and referenced by filename only. Alternatively, scripts may be stored within a template in a `_scripts` subfolder.
|
38
38
|
|
39
39
|
Scripts can be executable files in any language, and receive the template directory and the planted directory as arguments $1 and $2.
|
40
40
|
|
@@ -52,7 +52,7 @@ First, there's a `variables` section that defines variables used in the template
|
|
52
52
|
variables:
|
53
53
|
- key: var_key
|
54
54
|
prompt: Prompt text
|
55
|
-
type: string # [string,
|
55
|
+
type: string # [string,paragraph,float,integer,number,date,choice] defaults to string
|
56
56
|
# value: (force value, string can include %%variables%% and regexes will be replaced. For date type can be today, time, now, etc.)
|
57
57
|
default: Untitled
|
58
58
|
min: 1
|
@@ -69,6 +69,85 @@ repo: # If a repository URL is provided, it will be pulled and duplicated instea
|
|
69
69
|
|
70
70
|
In a template you can add a default value for a placholder by adding `%default value` to it. For example, `%%project%Default Project%%` will set the placeholder to `Default Project` if the variable value matches the default value in the configuration. This allows you to accept the default on the command line but have a different value inserted in the template. To use another variable in its place, use `$KEY` in the placeholder, e.g. `%%project%$title%%` will replace the `project` key with the value of `title` if the default is selected. Modifiers can be used on either side of the `%`, e.g. `%%project%$title:snake%%`.
|
71
71
|
|
72
|
+
#### Multiple choice type
|
73
|
+
|
74
|
+
If the `type` is set to `choice`, then the key `choices` can contain a hash or array of choices. The key that accepts the choice should be surrounded with parenthesis (required for each choice).
|
75
|
+
|
76
|
+
If a Hash is defined, each choice can have a result string:
|
77
|
+
|
78
|
+
```yaml
|
79
|
+
variables:
|
80
|
+
- key: shebang
|
81
|
+
prompt: Shebang line
|
82
|
+
type: choice
|
83
|
+
default: r
|
84
|
+
choices:
|
85
|
+
(r)uby: "#! /usr/bin/env ruby"
|
86
|
+
(j)avascript: "#! /usr/bin/env node"
|
87
|
+
(p)ython: "#! /usr/bin/env python"
|
88
|
+
(b)ash: "#! /bin/bash"
|
89
|
+
(z)sh: "#! /bin/zsh"
|
90
|
+
```
|
91
|
+
|
92
|
+
If an array is defined, the string of the choice will also be its result:
|
93
|
+
|
94
|
+
```yaml
|
95
|
+
variables:
|
96
|
+
- key: language
|
97
|
+
prompt: Programming language
|
98
|
+
type: choice
|
99
|
+
default: 1
|
100
|
+
choices:
|
101
|
+
- 1. ruby
|
102
|
+
- 1. javascript
|
103
|
+
- 1. python
|
104
|
+
- 1. bash
|
105
|
+
- 1. zsh
|
106
|
+
```
|
107
|
+
|
108
|
+
If the choice starts with a number (as above), then a numeric list will be generated and typing the associated index number will accept that choice. Numeric lists are automatically numbered, so the preceding digit doesn't matter, as long as it's a digit. In this case a default can be defined with an integer for its placement in the list (starting with 1), and parenthesis aren't required.
|
109
|
+
|
110
|
+
#### If/then logic
|
111
|
+
|
112
|
+
A template can use if/then logic, which is useful with multiple choice types. It can be applied to any type, though.
|
113
|
+
|
114
|
+
The format for if/then logic is:
|
115
|
+
|
116
|
+
```
|
117
|
+
%%if KEY OPERATOR VALUE%%
|
118
|
+
content
|
119
|
+
%%else if KEY OPERATOR VALUE2%%
|
120
|
+
content 2
|
121
|
+
%%else%%
|
122
|
+
content 3
|
123
|
+
%%endif%%
|
124
|
+
```
|
125
|
+
|
126
|
+
There should be no spaces around the comparison, e.g. `%% if language == javascript %%` won't work. The block must start with an `if` statement and end with `%%endif%%` or `%%end%%`. The `%%else%%` statement is optional -- if it doesn't exist then the entire block will be removed if no conditions are met.
|
127
|
+
|
128
|
+
The key should be an existing key defined in `variables`. The operator can be any of:
|
129
|
+
|
130
|
+
- `==` or `=` (equals)
|
131
|
+
- `=~` (matches regex)
|
132
|
+
- `*=` (contains)
|
133
|
+
- `^=` (starts with)
|
134
|
+
- `$=` (ends with)
|
135
|
+
- `>` (greater than)
|
136
|
+
- `>=` (greater than or equal)
|
137
|
+
- `<` (less than)
|
138
|
+
- `<=` (less than or equal)
|
139
|
+
|
140
|
+
The value after the operator doesn't need to be quoted, anything after the operator will be compared to the value of the key.
|
141
|
+
|
142
|
+
Logic can be used on multiple lines like the example above, or on a single line (useful for filenames):
|
143
|
+
|
144
|
+
```
|
145
|
+
%%project%%.%%if language == javascript%%js%%else if language == ruby%%rb%%else%%sh%%endif%%
|
146
|
+
```
|
147
|
+
|
148
|
+
Content within if/else blocks can contain variables.
|
149
|
+
|
150
|
+
|
72
151
|
### File-specific handling
|
73
152
|
|
74
153
|
A `files` dictionary can specify how to handle specific files. Options are `copy`, `overwrite`, `merge`, or `ask`. The key for each entry is a filename or glob that matches the source filename (accounting for template variables if applicable):
|
@@ -79,6 +158,8 @@ files:
|
|
79
158
|
"%%title%%.md": overwrite
|
80
159
|
```
|
81
160
|
|
161
|
+
Filenames can include wildcards (`*`, `?`), and Bash-ish globbing (`[0-9]`, `[a-z]`, `{one,two,three}`).
|
162
|
+
|
82
163
|
If `merge` is specified, then the source file is scanned for merge comments and those are merged if they don't exist in the copied/existing file. If no merge comments are defined, then the entire contents of the source file are appended to the destination file (unless the file already matches the source). Merge comments start with `merge` and end with `/merge` and can have any comment syntax preceding them, for example:
|
83
164
|
|
84
165
|
```
|
@@ -109,7 +190,7 @@ replacements:
|
|
109
190
|
"(main|app)\.js": "%%script:lower%%.js"
|
110
191
|
```
|
111
192
|
|
112
|
-
Replacements are performed on both file/directory names and file contents.
|
193
|
+
Replacements are performed on both file/directory names and file contents. This is especially handy when the source of the plant is a Git repo, allowing the replacement of elements without having to create %%templated%% filenames and contents.
|
113
194
|
|
114
195
|
### Finder Tags
|
115
196
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: planter-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Terpstra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bump
|
@@ -342,6 +342,7 @@ extra_rdoc_files: []
|
|
342
342
|
files:
|
343
343
|
- ".editorconfig"
|
344
344
|
- ".gitignore"
|
345
|
+
- ".gitmodules"
|
345
346
|
- ".irbrc"
|
346
347
|
- ".rspec"
|
347
348
|
- ".rubocop.yml"
|
@@ -359,8 +360,10 @@ files:
|
|
359
360
|
- docker/Dockerfile-2.6
|
360
361
|
- docker/Dockerfile-2.7
|
361
362
|
- docker/Dockerfile-3.0
|
363
|
+
- docker/Dockerfile-3.3
|
362
364
|
- docker/bash_profile
|
363
365
|
- docker/inputrc
|
366
|
+
- docker/sources.list
|
364
367
|
- lib/.rubocop.yml
|
365
368
|
- lib/planter.rb
|
366
369
|
- lib/planter/array.rb
|
@@ -377,10 +380,90 @@ files:
|
|
377
380
|
- lib/planter/symbol.rb
|
378
381
|
- lib/planter/tag.rb
|
379
382
|
- lib/planter/version.rb
|
383
|
+
- lib/tty-spinner/.editorconfig
|
384
|
+
- lib/tty-spinner/.github/FUNDING.yml
|
385
|
+
- lib/tty-spinner/.github/ISSUE_TEMPLATE/BUG_REPORT.md
|
386
|
+
- lib/tty-spinner/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
|
387
|
+
- lib/tty-spinner/.github/ISSUE_TEMPLATE/config.yml
|
388
|
+
- lib/tty-spinner/.github/PULL_REQUEST_TEMPLATE.md
|
389
|
+
- lib/tty-spinner/.github/workflows/ci.yml
|
390
|
+
- lib/tty-spinner/.gitignore
|
391
|
+
- lib/tty-spinner/.rspec
|
392
|
+
- lib/tty-spinner/.rubocop.yml
|
393
|
+
- lib/tty-spinner/CHANGELOG.md
|
394
|
+
- lib/tty-spinner/CODE_OF_CONDUCT.md
|
395
|
+
- lib/tty-spinner/Gemfile
|
396
|
+
- lib/tty-spinner/LICENSE.txt
|
397
|
+
- lib/tty-spinner/README.md
|
398
|
+
- lib/tty-spinner/Rakefile
|
399
|
+
- lib/tty-spinner/appveyor.yml
|
400
|
+
- lib/tty-spinner/bin/console
|
401
|
+
- lib/tty-spinner/bin/setup
|
402
|
+
- lib/tty-spinner/demo.gif
|
403
|
+
- lib/tty-spinner/examples/auto_spin.rb
|
404
|
+
- lib/tty-spinner/examples/basic.rb
|
405
|
+
- lib/tty-spinner/examples/clear.rb
|
406
|
+
- lib/tty-spinner/examples/color.rb
|
407
|
+
- lib/tty-spinner/examples/error.rb
|
408
|
+
- lib/tty-spinner/examples/formats.rb
|
409
|
+
- lib/tty-spinner/examples/hide_cursor.rb
|
410
|
+
- lib/tty-spinner/examples/log.rb
|
411
|
+
- lib/tty-spinner/examples/multi/basic.rb
|
412
|
+
- lib/tty-spinner/examples/multi/basic_top_level.rb
|
413
|
+
- lib/tty-spinner/examples/multi/custom_style.rb
|
414
|
+
- lib/tty-spinner/examples/multi/files.rb
|
415
|
+
- lib/tty-spinner/examples/multi/jobs.rb
|
416
|
+
- lib/tty-spinner/examples/multi/multi.rb
|
417
|
+
- lib/tty-spinner/examples/multi/multi_top_level.rb
|
418
|
+
- lib/tty-spinner/examples/multi/pause.rb
|
419
|
+
- lib/tty-spinner/examples/multi/threaded.rb
|
420
|
+
- lib/tty-spinner/examples/pause.rb
|
421
|
+
- lib/tty-spinner/examples/run.rb
|
422
|
+
- lib/tty-spinner/examples/success.rb
|
423
|
+
- lib/tty-spinner/examples/threaded.rb
|
424
|
+
- lib/tty-spinner/examples/update.rb
|
425
|
+
- lib/tty-spinner/lib/tty-spinner.rb
|
426
|
+
- lib/tty-spinner/lib/tty/spinner.rb
|
427
|
+
- lib/tty-spinner/lib/tty/spinner/formats.rb
|
428
|
+
- lib/tty-spinner/lib/tty/spinner/multi.rb
|
429
|
+
- lib/tty-spinner/lib/tty/spinner/version.rb
|
430
|
+
- lib/tty-spinner/spec/spec_helper.rb
|
431
|
+
- lib/tty-spinner/spec/unit/auto_spin_spec.rb
|
432
|
+
- lib/tty-spinner/spec/unit/clear_spec.rb
|
433
|
+
- lib/tty-spinner/spec/unit/error_spec.rb
|
434
|
+
- lib/tty-spinner/spec/unit/events_spec.rb
|
435
|
+
- lib/tty-spinner/spec/unit/formats_spec.rb
|
436
|
+
- lib/tty-spinner/spec/unit/frames_spec.rb
|
437
|
+
- lib/tty-spinner/spec/unit/hide_cursor_spec.rb
|
438
|
+
- lib/tty-spinner/spec/unit/job_spec.rb
|
439
|
+
- lib/tty-spinner/spec/unit/join_spec.rb
|
440
|
+
- lib/tty-spinner/spec/unit/log_spec.rb
|
441
|
+
- lib/tty-spinner/spec/unit/multi/auto_spin_spec.rb
|
442
|
+
- lib/tty-spinner/spec/unit/multi/error_spec.rb
|
443
|
+
- lib/tty-spinner/spec/unit/multi/line_inset_spec.rb
|
444
|
+
- lib/tty-spinner/spec/unit/multi/on_spec.rb
|
445
|
+
- lib/tty-spinner/spec/unit/multi/register_spec.rb
|
446
|
+
- lib/tty-spinner/spec/unit/multi/spin_spec.rb
|
447
|
+
- lib/tty-spinner/spec/unit/multi/stop_spec.rb
|
448
|
+
- lib/tty-spinner/spec/unit/multi/success_spec.rb
|
449
|
+
- lib/tty-spinner/spec/unit/new_spec.rb
|
450
|
+
- lib/tty-spinner/spec/unit/pause_spec.rb
|
451
|
+
- lib/tty-spinner/spec/unit/reset_spec.rb
|
452
|
+
- lib/tty-spinner/spec/unit/run_spec.rb
|
453
|
+
- lib/tty-spinner/spec/unit/spin_spec.rb
|
454
|
+
- lib/tty-spinner/spec/unit/stop_spec.rb
|
455
|
+
- lib/tty-spinner/spec/unit/success_spec.rb
|
456
|
+
- lib/tty-spinner/spec/unit/tty_spec.rb
|
457
|
+
- lib/tty-spinner/spec/unit/update_spec.rb
|
458
|
+
- lib/tty-spinner/tasks/console.rake
|
459
|
+
- lib/tty-spinner/tasks/coverage.rake
|
460
|
+
- lib/tty-spinner/tasks/spec.rake
|
461
|
+
- lib/tty-spinner/tty-spinner.gemspec
|
380
462
|
- planter-cli.gemspec
|
381
463
|
- scripts/deploy.rb
|
382
464
|
- scripts/runtests.sh
|
383
465
|
- spec/.rubocop.yml
|
466
|
+
- spec/cli_spec.rb
|
384
467
|
- spec/config.yml
|
385
468
|
- spec/planter.yml
|
386
469
|
- spec/planter/array_spec.rb
|
@@ -430,6 +513,7 @@ specification_version: 4
|
|
430
513
|
summary: Plant files and directories using templates
|
431
514
|
test_files:
|
432
515
|
- spec/.rubocop.yml
|
516
|
+
- spec/cli_spec.rb
|
433
517
|
- spec/config.yml
|
434
518
|
- spec/planter.yml
|
435
519
|
- spec/planter/array_spec.rb
|