guard 2.15.0 → 2.17.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 +4 -4
- data/README.md +33 -14
- data/lib/guard/commander.rb +4 -3
- data/lib/guard/dsl.rb +4 -3
- data/lib/guard/guardfile/evaluator.rb +19 -11
- data/lib/guard/guardfile/generator.rb +4 -4
- data/lib/guard/jobs/pry_wrapper.rb +57 -22
- data/lib/guard/notifier.rb +1 -1
- data/lib/guard/plugin_util.rb +1 -1
- data/lib/guard/runner.rb +2 -2
- data/lib/guard/version.rb +1 -1
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 909f2f0b8875294f9d73116fdcf9c0499cdd3e1e928db9fd8a0517ab7045f5e0
|
4
|
+
data.tar.gz: 0bd68633d9e2051c2912d01f941d16a601120379bdf841a688d850fa3a1be462
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e25b07345fe9097d6e837ee1747e69df8c4d83d06c35e92548a96a2212dacfb1cee2016b74ad5fbb78ed74a2ade54ba17a844e305d6e45d8a194c722e3e84d25
|
7
|
+
data.tar.gz: 5ac8af0c983be8956442afa34e814865cdf3fec6616f7b3a5b8e6c7bb61339abe9b10332b45be5213ad910f2e1fb4a62fb2287a8ddb258d5b7ff45404ca562cc
|
data/README.md
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
# Guard
|
2
2
|
|
3
|
-
**IMPORTANT:
|
3
|
+
**IMPORTANT: Please upgrade to Ruby >= 2.4 before installing Guard! To install for older versions, update Bundler at least 1.12: `gem update bundler` and Bundler should correctly resolve to earlier gems for your given Ruby version.**
|
4
|
+
|
5
|
+
- [Ruby 2.1 is officially outdated and unsupported!](https://www.ruby-lang.org/en/news/2016/03/30/ruby-2-1-9-released/)
|
6
|
+
- [Ruby 2.2 is officially outdated and unsupported!](https://www.ruby-lang.org/en/news/2018/06/20/support-of-ruby-2-2-has-ended/)
|
7
|
+
- [Ruby 2.3 is officially outdated and unsupported!](https://www.ruby-lang.org/en/news/2019/03/31/support-of-ruby-2-3-has-ended/)
|
4
8
|
|
5
9
|
:exclamation: Guard is currently accepting more maintainers. Please [read this](https://github.com/guard/guard/wiki/Maintainers) if you're interested in joining the team.
|
6
10
|
|
7
|
-
[](https://rubygems.org/gems/guard) [](https://travis-ci.org/guard/guard) [](https://rubygems.org/gems/guard) [](https://travis-ci.org/guard/guard) [](https://codeclimate.com/github/guard/guard) [](https://codeclimate.com/github/guard/guard) [](http://inch-ci.org/github/guard/guard) [](https://houndci.com)
|
8
12
|
|
9
13
|
<img src="http://f.cl.ly/items/0A0M3W2x3I1P450z341U/guard-Icon.png" alt="Guard Icon" align="right" />
|
10
14
|
Guard automates various tasks by running custom rules whenever file or directories are modified.
|
@@ -31,8 +35,8 @@ Before you file an issue, make sure you have read the _[known issues](#issues)_
|
|
31
35
|
|
32
36
|
* File system changes handled by our awesome [Listen](https://github.com/guard/listen) gem.
|
33
37
|
* Support for visual system notifications.
|
34
|
-
* Huge eco-system with [more than
|
35
|
-
* Tested against Ruby 2.
|
38
|
+
* Huge eco-system with [more than 300](https://rubygems.org/search?query=guard-) Guard plugins.
|
39
|
+
* Tested against the latest Ruby 2.4.x, 2.5.x, 2.6.x, JRuby & Rubinius. See [`.travis-ci.yml`](https://github.com/guard/guard/blob/master/.travis.yml) for the exact versions.
|
36
40
|
|
37
41
|
## Screencast
|
38
42
|
|
@@ -73,9 +77,7 @@ $ bundle exec guard
|
|
73
77
|
|
74
78
|
If you are on Mac OS X and have problems with either Guard not reacting to file
|
75
79
|
changes or Pry behaving strange, then you should [add proper Readline support
|
76
|
-
to Ruby on Mac
|
77
|
-
X](https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X).
|
78
|
-
|
80
|
+
to Ruby on macOS](https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X).
|
79
81
|
|
80
82
|
## Avoiding gem/dependency problems
|
81
83
|
|
@@ -86,10 +88,10 @@ If you're getting sick of typing `bundle exec` all the time, try one of the foll
|
|
86
88
|
* (Recommended) Running `bundle binstub guard` will create `bin/guard` in your
|
87
89
|
project, which means running `bin/guard` (tab completion will save you a key
|
88
90
|
stroke or two) will have the exact same result as `bundle exec guard`.
|
89
|
-
|
91
|
+
|
90
92
|
* Or, you can `alias be="bundle exec"` in your `.bashrc` or similar and the execute only `be guard`.
|
91
|
-
**Protip**: It will work for all comands executed in `bundle exec` context!
|
92
|
-
|
93
|
+
**Protip**: It will work for all comands executed in `bundle exec` context!
|
94
|
+
|
93
95
|
|
94
96
|
* Or, for RubyGems >= 2.2.0 (at least, though the more recent the better),
|
95
97
|
simply set the `RUBYGEMS_GEMDEPS` environment variable to `-` (for autodetecting
|
@@ -132,8 +134,8 @@ Just launch Guard inside your Ruby or Rails project with:
|
|
132
134
|
$ bundle exec guard
|
133
135
|
```
|
134
136
|
|
135
|
-
Guard will look for a `Guardfile` in your current directory. If it does not find one, it will look
|
136
|
-
directory for a `.Guardfile`.
|
137
|
+
Guard will look for a `Guardfile` or `guardfile.rb` in your current directory. If it does not find one, it will look
|
138
|
+
in your `$HOME` directory for a `.Guardfile`.
|
137
139
|
|
138
140
|
Please look here to see all the [command line options for Guard](https://github.com/guard/guard/wiki/Command-line-options-for-Guard)
|
139
141
|
|
@@ -153,15 +155,32 @@ Before reporting a problem, please read how to [File an issue](https://github.co
|
|
153
155
|
## Development / Contributing
|
154
156
|
|
155
157
|
See the [Contributing Guide](https://github.com/guard/guard/blob/master/CONTRIBUTING.md#development).
|
158
|
+
|
159
|
+
## Releasing
|
160
|
+
|
161
|
+
### Prerequisites
|
162
|
+
|
163
|
+
* You must have commit rights to the GitHub repository.
|
164
|
+
* You must have push rights for rubygems.org.
|
165
|
+
|
166
|
+
### How to release
|
167
|
+
|
168
|
+
1. Determine which would be the correct next version number according to [semver](http://semver.org/).
|
169
|
+
1. Update the version in `./lib/guard/version.rb`.
|
170
|
+
1. Commit the version in a single commit, the message should be "Bump VERSION to X.Y.Z".
|
171
|
+
1. Push and open a pull request.
|
172
|
+
1. Once CI is green, merge the pull request.
|
173
|
+
1. Pull the changes locally and run `bundle exec rake release:full`; this will tag, push to GitHub, publish to rubygems.org, and publish the [release notes](https://github.com/guard/guard/releases) .
|
174
|
+
|
156
175
|
### Author
|
157
176
|
|
158
177
|
[Thibaud Guillaume-Gentil](https://github.com/thibaudgg) ([@thibaudgg](https://twitter.com/thibaudgg))
|
159
178
|
|
160
179
|
### Core Team
|
161
180
|
|
162
|
-
* R.I.P. :broken_heart: [Michael Kessler](https://github.com/netzpirat)
|
181
|
+
* R.I.P. :broken_heart: [Michael Kessler](https://github.com/netzpirat).
|
163
182
|
* [Rémy Coutable](https://github.com/rymai).
|
164
|
-
* [Thibaud Guillaume-Gentil](https://github.com/thibaudgg) ([@thibaudgg](https://twitter.com/thibaudgg), [thibaud.gg](
|
183
|
+
* [Thibaud Guillaume-Gentil](https://github.com/thibaudgg) ([@thibaudgg](https://twitter.com/thibaudgg), [thibaud.gg](https://thibaud.gg/)).
|
165
184
|
|
166
185
|
### Contributors
|
167
186
|
|
data/lib/guard/commander.rb
CHANGED
@@ -47,13 +47,14 @@ module Guard
|
|
47
47
|
exitcode = e.status
|
48
48
|
end
|
49
49
|
|
50
|
-
stop
|
51
50
|
exitcode
|
51
|
+
ensure
|
52
|
+
stop
|
52
53
|
end
|
53
54
|
|
54
55
|
def stop
|
55
|
-
listener
|
56
|
-
interactor
|
56
|
+
listener&.stop
|
57
|
+
interactor&.background
|
57
58
|
UI.debug "Guard stops all plugins"
|
58
59
|
Runner.new.run(:stop)
|
59
60
|
Notifier.disconnect
|
data/lib/guard/dsl.rb
CHANGED
@@ -37,7 +37,8 @@ module Guard
|
|
37
37
|
#
|
38
38
|
# There are two possible locations for the `Guardfile`:
|
39
39
|
#
|
40
|
-
# * The `Guardfile` in the current directory where Guard
|
40
|
+
# * The `Guardfile` or `guardfile.rb` in the current directory where Guard
|
41
|
+
# has been started
|
41
42
|
# * The `.Guardfile` in your home directory.
|
42
43
|
#
|
43
44
|
# In addition, if a user configuration `.guard.rb` in your home directory is
|
@@ -68,7 +69,7 @@ module Guard
|
|
68
69
|
# notification :ruby_gntp, host: '192.168.1.5'
|
69
70
|
#
|
70
71
|
# @param [Symbol, String] notifier the name of the notifier to use
|
71
|
-
# @param [Hash]
|
72
|
+
# @param [Hash] opts the notification library options
|
72
73
|
#
|
73
74
|
# @see Guard::Notifier for available notifier and its options.
|
74
75
|
#
|
@@ -366,7 +367,7 @@ module Guard
|
|
366
367
|
# @example Scope Guard to multiple plugins
|
367
368
|
# scope plugins: [:jasmine, :rspec]
|
368
369
|
#
|
369
|
-
# @param [Hash]
|
370
|
+
# @param [Hash] scope the scope for the groups and plugins
|
370
371
|
#
|
371
372
|
def scope(scope = {})
|
372
373
|
# TODO: use a Guardfile::Results class
|
@@ -18,6 +18,12 @@ module Guard
|
|
18
18
|
class Evaluator
|
19
19
|
Deprecated::Evaluator.add_deprecated(self) unless Config.new.strict?
|
20
20
|
|
21
|
+
DEFAULT_GUARDFILES = %w(
|
22
|
+
guardfile.rb
|
23
|
+
Guardfile
|
24
|
+
~/.Guardfile
|
25
|
+
).freeze
|
26
|
+
|
21
27
|
ERROR_NO_GUARDFILE = "No Guardfile found,"\
|
22
28
|
" please create one with `guard init`."
|
23
29
|
|
@@ -60,7 +66,7 @@ module Guard
|
|
60
66
|
@contents = opts[:contents]
|
61
67
|
elsif opts[:guardfile]
|
62
68
|
@type = :custom
|
63
|
-
@path = Pathname(opts[:guardfile]) # may be updated by _read
|
69
|
+
@path = Pathname.new(opts[:guardfile]) # may be updated by _read
|
64
70
|
end
|
65
71
|
end
|
66
72
|
|
@@ -178,19 +184,21 @@ module Guard
|
|
178
184
|
end
|
179
185
|
|
180
186
|
def _use_default!
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
187
|
+
DEFAULT_GUARDFILES.each do |guardfile|
|
188
|
+
begin
|
189
|
+
@path, @contents = _read(guardfile)
|
190
|
+
@type = :default
|
191
|
+
break
|
192
|
+
rescue Errno::ENOENT
|
193
|
+
if guardfile == DEFAULT_GUARDFILES.last
|
194
|
+
fail NoGuardfileError, ERROR_NO_GUARDFILE
|
195
|
+
end
|
196
|
+
end
|
189
197
|
end
|
190
198
|
end
|
191
199
|
|
192
200
|
def _read(path)
|
193
|
-
full_path = Pathname(path).expand_path
|
201
|
+
full_path = Pathname.new(path.to_s).expand_path
|
194
202
|
[full_path, full_path.read]
|
195
203
|
rescue Errno::ENOENT
|
196
204
|
fail
|
@@ -202,7 +210,7 @@ module Guard
|
|
202
210
|
end
|
203
211
|
|
204
212
|
def _guardfile_contents
|
205
|
-
@user_config ||= Pathname("~/.guard.rb").expand_path.read
|
213
|
+
@user_config ||= Pathname.new("~/.guard.rb").expand_path.read
|
206
214
|
[@contents, @user_config].compact.join("\n")
|
207
215
|
rescue Errno::ENOENT
|
208
216
|
@contents || ""
|
@@ -32,11 +32,11 @@ module Guard
|
|
32
32
|
|
33
33
|
# The location of user defined templates
|
34
34
|
begin
|
35
|
-
HOME_TEMPLATES = Pathname("~/.guard/templates").expand_path
|
35
|
+
HOME_TEMPLATES = Pathname.new("~/.guard/templates").expand_path
|
36
36
|
rescue ArgumentError
|
37
37
|
# home isn't defined. Set to the root of the drive. Trust that there
|
38
38
|
# won't be user defined templates there
|
39
|
-
HOME_TEMPLATES = Pathname("/").expand_path
|
39
|
+
HOME_TEMPLATES = Pathname.new("/").expand_path
|
40
40
|
end
|
41
41
|
|
42
42
|
class Error < RuntimeError
|
@@ -63,7 +63,7 @@ module Guard
|
|
63
63
|
# @see Guard::CLI#init
|
64
64
|
#
|
65
65
|
def create_guardfile
|
66
|
-
path = Pathname("Guardfile").expand_path
|
66
|
+
path = Pathname.new("Guardfile").expand_path
|
67
67
|
if path.exist?
|
68
68
|
_ui(:error, "Guardfile already exists at #{path}")
|
69
69
|
abort
|
@@ -81,7 +81,7 @@ module Guard
|
|
81
81
|
# initialize
|
82
82
|
#
|
83
83
|
def initialize_template(plugin_name)
|
84
|
-
guardfile = Pathname("Guardfile")
|
84
|
+
guardfile = Pathname.new("Guardfile")
|
85
85
|
|
86
86
|
plugin_util = PluginUtil.new(plugin_name)
|
87
87
|
# TODO: change to "valid?" method
|
@@ -40,11 +40,21 @@ module Guard
|
|
40
40
|
class PryWrapper < Base
|
41
41
|
# The default Ruby script to configure Guard Pry if the option `:guard_rc`
|
42
42
|
# is not defined.
|
43
|
-
|
43
|
+
|
44
|
+
GUARD_RC = if ENV["XDG_CONFIG_HOME"] && File.exist?(ENV["XDG_CONFIG_HOME"] + "/guard/guardrc")
|
45
|
+
ENV["XDG_CONFIG_HOME"] + "/guard/guardrc"
|
46
|
+
else
|
47
|
+
"~/.guardrc"
|
48
|
+
end
|
44
49
|
|
45
50
|
# The default Guard Pry history file if the option `:history_file` is not
|
46
51
|
# defined.
|
47
|
-
|
52
|
+
|
53
|
+
HISTORY_FILE = if ENV["XDG_DATA_HOME"] && File.exist?(ENV["XDG_DATA_HOME"] + "/guard/history")
|
54
|
+
ENV["XDG_DATA_HOME"] + "/guard/history"
|
55
|
+
else
|
56
|
+
"~/.guard_history"
|
57
|
+
end
|
48
58
|
|
49
59
|
# List of shortcuts for each interactor command
|
50
60
|
SHORTCUTS = {
|
@@ -95,6 +105,14 @@ module Guard
|
|
95
105
|
|
96
106
|
attr_reader :thread
|
97
107
|
|
108
|
+
def _pry_config
|
109
|
+
Pry.config
|
110
|
+
end
|
111
|
+
|
112
|
+
def _pry_commands
|
113
|
+
Pry.commands
|
114
|
+
end
|
115
|
+
|
98
116
|
def _switch_to_pry
|
99
117
|
th = nil
|
100
118
|
@mutex.synchronize do
|
@@ -125,11 +143,10 @@ module Guard
|
|
125
143
|
end
|
126
144
|
|
127
145
|
def _setup(options)
|
128
|
-
|
129
|
-
|
130
|
-
history_file_path = options[:history_file] || HISTORY_FILE
|
131
|
-
Pry.config.history.file = File.expand_path(history_file_path)
|
146
|
+
_pry_config.should_load_rc = false
|
147
|
+
_pry_config.should_load_local_rc = false
|
132
148
|
|
149
|
+
_configure_history_file(options[:history_file] || HISTORY_FILE)
|
133
150
|
_add_hooks(options)
|
134
151
|
|
135
152
|
Commands::All.import
|
@@ -144,6 +161,17 @@ module Guard
|
|
144
161
|
_configure_prompt
|
145
162
|
end
|
146
163
|
|
164
|
+
def _configure_history_file(history_file)
|
165
|
+
history_file_path = File.expand_path(history_file)
|
166
|
+
|
167
|
+
# Pry >= 0.13
|
168
|
+
if _pry_config.respond_to?(:history_file=)
|
169
|
+
_pry_config.history_file = history_file_path
|
170
|
+
else
|
171
|
+
_pry_config.history.file = history_file_path
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
147
175
|
# Add Pry hooks:
|
148
176
|
#
|
149
177
|
# * Load `~/.guardrc` within each new Pry session.
|
@@ -159,7 +187,7 @@ module Guard
|
|
159
187
|
# Add a `when_started` hook that loads a global .guardrc if it exists.
|
160
188
|
#
|
161
189
|
def _add_load_guard_rc_hook(guard_rc)
|
162
|
-
|
190
|
+
_pry_config.hooks.add_hook :when_started, :load_guard_rc do
|
163
191
|
guard_rc.expand_path.tap { |p| load p if p.exist? }
|
164
192
|
end
|
165
193
|
end
|
@@ -167,7 +195,7 @@ module Guard
|
|
167
195
|
# Add a `when_started` hook that loads a project .guardrc if it exists.
|
168
196
|
#
|
169
197
|
def _add_load_project_guard_rc_hook(guard_rc)
|
170
|
-
|
198
|
+
_pry_config.hooks.add_hook :when_started, :load_project_guard_rc do
|
171
199
|
load guard_rc if guard_rc.exist?
|
172
200
|
end
|
173
201
|
end
|
@@ -175,7 +203,7 @@ module Guard
|
|
175
203
|
# Add a `after_eval` hook that restores visibility after a command is
|
176
204
|
# eval.
|
177
205
|
def _add_restore_visibility_hook
|
178
|
-
|
206
|
+
_pry_config.hooks.add_hook :after_eval, :restore_visibility do
|
179
207
|
@terminal_settings.echo
|
180
208
|
end
|
181
209
|
end
|
@@ -192,7 +220,7 @@ module Guard
|
|
192
220
|
# instead restarts guard.
|
193
221
|
#
|
194
222
|
def _replace_reset_command
|
195
|
-
|
223
|
+
_pry_commands.command "reset", "Reset the Guard to a clean state." do
|
196
224
|
output.puts "Guard reset."
|
197
225
|
exec "guard"
|
198
226
|
end
|
@@ -203,7 +231,7 @@ module Guard
|
|
203
231
|
# beginning of a line).
|
204
232
|
#
|
205
233
|
def _create_run_all_command
|
206
|
-
|
234
|
+
_pry_commands.block_command(/^$/, "Hit enter to run all") do
|
207
235
|
Pry.run_command "all"
|
208
236
|
end
|
209
237
|
end
|
@@ -214,7 +242,7 @@ module Guard
|
|
214
242
|
#
|
215
243
|
def _create_command_aliases
|
216
244
|
SHORTCUTS.each do |command, shortcut|
|
217
|
-
|
245
|
+
_pry_commands.alias_command shortcut, command.to_s
|
218
246
|
end
|
219
247
|
end
|
220
248
|
|
@@ -225,8 +253,8 @@ module Guard
|
|
225
253
|
#
|
226
254
|
def _create_guard_commands
|
227
255
|
Guard.state.session.plugins.all.each do |guard_plugin|
|
228
|
-
cmd = "Run all #{
|
229
|
-
|
256
|
+
cmd = "Run all #{guard_plugin.title}"
|
257
|
+
_pry_commands.create_command guard_plugin.name, cmd do
|
230
258
|
group "Guard"
|
231
259
|
|
232
260
|
def process
|
@@ -245,8 +273,8 @@ module Guard
|
|
245
273
|
Guard.state.session.groups.all.each do |group|
|
246
274
|
next if group.name == :default
|
247
275
|
|
248
|
-
cmd = "Run all #{
|
249
|
-
|
276
|
+
cmd = "Run all #{group.title}"
|
277
|
+
_pry_commands.create_command group.name.to_s, cmd do
|
250
278
|
group "Guard"
|
251
279
|
|
252
280
|
def process
|
@@ -260,7 +288,15 @@ module Guard
|
|
260
288
|
# `pry`.
|
261
289
|
#
|
262
290
|
def _configure_prompt
|
263
|
-
|
291
|
+
prompt_procs = [_prompt(">"), _prompt("*")]
|
292
|
+
prompt =
|
293
|
+
if Pry::Prompt.is_a?(Class)
|
294
|
+
Pry::Prompt.new("Guard", "Guard Pry prompt", prompt_procs)
|
295
|
+
else
|
296
|
+
prompt_procs
|
297
|
+
end
|
298
|
+
|
299
|
+
_pry_config.prompt = prompt
|
264
300
|
end
|
265
301
|
|
266
302
|
# Returns the plugins scope, or the groups scope ready for display in the
|
@@ -289,12 +325,11 @@ module Guard
|
|
289
325
|
end
|
290
326
|
|
291
327
|
def _history(pry)
|
292
|
-
|
293
|
-
|
294
|
-
|
328
|
+
if pry.respond_to?(:input_ring)
|
329
|
+
pry.input_ring.size
|
330
|
+
else
|
331
|
+
pry.input_array.size
|
295
332
|
end
|
296
|
-
|
297
|
-
pry.input_ring.size
|
298
333
|
end
|
299
334
|
end
|
300
335
|
end
|
data/lib/guard/notifier.rb
CHANGED
data/lib/guard/plugin_util.rb
CHANGED
data/lib/guard/runner.rb
CHANGED
@@ -11,7 +11,7 @@ module Guard
|
|
11
11
|
#
|
12
12
|
# @param [Symbol] task the task to run
|
13
13
|
#
|
14
|
-
# @param [Hash]
|
14
|
+
# @param [Hash] scope_hash either the Guard plugin or the group to run the task
|
15
15
|
# on
|
16
16
|
#
|
17
17
|
def run(task, scope_hash = {})
|
@@ -70,7 +70,7 @@ module Guard
|
|
70
70
|
# When the Group has `:halt_on_fail` disabled, we've to catch
|
71
71
|
# `:task_has_failed` here in order to avoid an uncaught throw error.
|
72
72
|
#
|
73
|
-
# @param [Guard::Plugin] guard the Guard to execute
|
73
|
+
# @param [Guard::Plugin] plugin guard the Guard to execute
|
74
74
|
# @param [Symbol] task the task to run
|
75
75
|
# @param [Array] args the arguments for the task
|
76
76
|
# @raise [:task_has_failed] when task has failed
|
data/lib/guard/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thibaud Guillaume-Gentil
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -219,7 +219,7 @@ homepage: http://guardgem.org
|
|
219
219
|
licenses:
|
220
220
|
- MIT
|
221
221
|
metadata: {}
|
222
|
-
post_install_message:
|
222
|
+
post_install_message:
|
223
223
|
rdoc_options: []
|
224
224
|
require_paths:
|
225
225
|
- lib
|
@@ -234,9 +234,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
234
|
- !ruby/object:Gem::Version
|
235
235
|
version: '0'
|
236
236
|
requirements: []
|
237
|
-
|
238
|
-
|
239
|
-
signing_key:
|
237
|
+
rubygems_version: 3.2.15
|
238
|
+
signing_key:
|
240
239
|
specification_version: 4
|
241
240
|
summary: Guard keeps an eye on your file modifications
|
242
241
|
test_files: []
|