guard 2.7.0 → 2.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/guard +7 -2
- data/lib/guard.rb +16 -5
- data/lib/guard.rb.orig +210 -0
- data/lib/guard/aruba_adapter.rb +59 -0
- data/lib/guard/cli.rb +1 -1
- data/lib/guard/commander.rb +3 -1
- data/lib/guard/commands/scope.rb +1 -1
- data/lib/guard/deprecated_methods.rb +16 -0
- data/lib/guard/deprecator.rb +15 -0
- data/lib/guard/dsl_describer.rb +0 -2
- data/lib/guard/guardfile/evaluator.rb +2 -2
- data/lib/guard/interactor.rb.orig +6 -1
- data/lib/guard/jobs/pry_wrapper.rb +1 -0
- data/lib/guard/jobs/stdin.rb.orig +46 -0
- data/lib/guard/notifiers/emacs.rb +3 -8
- data/lib/guard/notifiers/emacs.rb.orig +103 -0
- data/lib/guard/plugin_util.rb +5 -3
- data/lib/guard/runner.rb +34 -31
- data/lib/guard/setuper.rb +24 -11
- data/lib/guard/setuper.rb.orig +56 -20
- data/lib/guard/sheller.rb +47 -11
- data/lib/guard/sheller.rb.orig +107 -0
- data/lib/guard/tags +182 -107
- data/lib/guard/terminal.rb +11 -0
- data/lib/guard/terminal.rb.orig +0 -0
- data/lib/guard/ui.rb +21 -2
- data/lib/guard/ui.rb.orig +11 -1
- data/lib/guard/version.rb +1 -1
- data/lib/guard/version.rb.orig +1 -1
- data/lib/guard/watcher.rb.orig +119 -0
- metadata +10 -9
- data/lib/guard/cli.rb.orig +0 -215
- data/lib/guard/dsl_describer.rb.orig +0 -184
- data/lib/guard/guard.rb.orig +0 -42
- data/lib/guard/guardfile/evaluator.rb.orig +0 -275
- data/lib/guard/jobs/pry_wrapper.rb.orig +0 -293
- data/lib/guard/plugin_util.rb.orig +0 -178
- data/lib/guard/runner.rb.orig +0 -200
File without changes
|
data/lib/guard/ui.rb
CHANGED
@@ -3,6 +3,8 @@ require "lumberjack"
|
|
3
3
|
require "guard/options"
|
4
4
|
require "guard/ui/colors"
|
5
5
|
|
6
|
+
require "guard/terminal"
|
7
|
+
|
6
8
|
module Guard
|
7
9
|
# The UI class helps to format messages for the user. Everything that is
|
8
10
|
# logged through this class is considered either as an error message or a
|
@@ -25,6 +27,14 @@ module Guard
|
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
30
|
+
# Since logger is global, for Aruba in-process to properly
|
31
|
+
# separate output between calls, we need to reset
|
32
|
+
#
|
33
|
+
# We don't use logger=() since it's expected to be a Lumberjack instance
|
34
|
+
def reset_logger
|
35
|
+
@logger = nil
|
36
|
+
end
|
37
|
+
|
28
38
|
# Get the logger options
|
29
39
|
#
|
30
40
|
# @return [Hash] the logger options
|
@@ -109,9 +119,18 @@ module Guard
|
|
109
119
|
# Clear the output if clearable.
|
110
120
|
#
|
111
121
|
def clear(options = {})
|
122
|
+
fail "UI not set up!" if @clearable.nil?
|
112
123
|
return unless ::Guard.options[:clear] && (@clearable || options[:force])
|
113
124
|
@clearable = false
|
114
|
-
::Guard::
|
125
|
+
::Guard::Terminal.clear
|
126
|
+
rescue Errno::ENOENT => e
|
127
|
+
warning("Failed to clear the screen: #{e.inspect}")
|
128
|
+
end
|
129
|
+
|
130
|
+
# TODO: arguments: UI uses Guard::options anyway
|
131
|
+
def setup(_options)
|
132
|
+
@clearable = false
|
133
|
+
clear(force: true)
|
115
134
|
end
|
116
135
|
|
117
136
|
# Allow the screen to be cleared again.
|
@@ -206,7 +225,7 @@ module Guard
|
|
206
225
|
@color_enabled = nil unless @color_enabled_initialized
|
207
226
|
@color_enabled_initialized = true
|
208
227
|
if @color_enabled.nil?
|
209
|
-
if
|
228
|
+
if Gem.win_platform?
|
210
229
|
if ENV["ANSICON"]
|
211
230
|
@color_enabled = true
|
212
231
|
else
|
data/lib/guard/ui.rb.orig
CHANGED
@@ -25,6 +25,14 @@ module Guard
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
# Since logger is global, for Aruba in-process to properly
|
29
|
+
# separate output between calls, we need to reset
|
30
|
+
#
|
31
|
+
# We don't use logger=() since it's expected to be a Lumberjack instance
|
32
|
+
def reset_logger
|
33
|
+
@logger = nil
|
34
|
+
end
|
35
|
+
|
28
36
|
# Get the logger options
|
29
37
|
#
|
30
38
|
# @return [Hash] the logger options
|
@@ -85,6 +93,8 @@ module Guard
|
|
85
93
|
# @option options [String] plugin manually define the calling plugin
|
86
94
|
#
|
87
95
|
def deprecation(message, options = {})
|
96
|
+
msg = "neither ::Guard.setup nor ::Guard.reset_options was called"
|
97
|
+
fail msg if ::Guard.options.nil?
|
88
98
|
warning(message, options) if ::Guard.options[:show_deprecations]
|
89
99
|
end
|
90
100
|
|
@@ -204,7 +214,7 @@ module Guard
|
|
204
214
|
@color_enabled = nil unless @color_enabled_initialized
|
205
215
|
@color_enabled_initialized = true
|
206
216
|
if @color_enabled.nil?
|
207
|
-
if
|
217
|
+
if Gem.win_platform?
|
208
218
|
if ENV["ANSICON"]
|
209
219
|
@color_enabled = true
|
210
220
|
else
|
data/lib/guard/version.rb
CHANGED
data/lib/guard/version.rb.orig
CHANGED
@@ -0,0 +1,119 @@
|
|
1
|
+
require "guard/ui"
|
2
|
+
|
3
|
+
module Guard
|
4
|
+
# The watcher defines a RegExp that will be matched against file system
|
5
|
+
# modifications.
|
6
|
+
# When a watcher matches a change, an optional action block is executed to
|
7
|
+
# enable processing the file system change result.
|
8
|
+
#
|
9
|
+
class Watcher
|
10
|
+
attr_accessor :pattern, :action
|
11
|
+
|
12
|
+
# Initializes a file watcher.
|
13
|
+
#
|
14
|
+
# @param [String, Regexp] pattern the pattern to be watched by the Guard
|
15
|
+
# plugin
|
16
|
+
# @param [Block] action the action to execute before passing the result to
|
17
|
+
# the Guard plugin
|
18
|
+
#
|
19
|
+
def initialize(pattern, action = nil)
|
20
|
+
@pattern, @action = pattern, action
|
21
|
+
@@warning_printed ||= false
|
22
|
+
|
23
|
+
# deprecation warning
|
24
|
+
regexp = /(^(\^))|(>?(\\\.)|(\.\*))|(\(.*\))|(\[.*\])|(\$$)/
|
25
|
+
return unless @pattern.is_a?(String) && @pattern =~ regexp
|
26
|
+
|
27
|
+
unless @@warning_printed
|
28
|
+
::Guard::UI.info "*" * 20 + "\nDEPRECATION WARNING!\n" + "*" * 20
|
29
|
+
::Guard::UI.info <<-MSG
|
30
|
+
You have a string in your Guardfile watch patterns that seem to
|
31
|
+
represent a Regexp.
|
32
|
+
|
33
|
+
Guard matches String with == and Regexp with Regexp#match.
|
34
|
+
|
35
|
+
You should either use plain String (without Regexp special
|
36
|
+
characters) or real Regexp.
|
37
|
+
MSG
|
38
|
+
@@warning_printed = true
|
39
|
+
end
|
40
|
+
|
41
|
+
new_regexp = Regexp.new(@pattern).inspect
|
42
|
+
::Guard::UI.info "\"#{@pattern}\" has been converted to #{ new_regexp }\n"
|
43
|
+
@pattern = Regexp.new(@pattern)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Finds the files that matches a Guard plugin.
|
47
|
+
#
|
48
|
+
# @param [Guard::Plugin] guard the Guard plugin which watchers are used
|
49
|
+
# @param [Array<String>] files the changed files
|
50
|
+
# @return [Array<Object>] the matched watcher response
|
51
|
+
#
|
52
|
+
def self.match_files(guard, files)
|
53
|
+
return [] if files.empty?
|
54
|
+
|
55
|
+
files.inject([]) do |paths, file|
|
56
|
+
guard.watchers.each do |watcher|
|
57
|
+
matches = watcher.match(file)
|
58
|
+
next unless matches
|
59
|
+
|
60
|
+
if watcher.action
|
61
|
+
result = watcher.call_action(matches)
|
62
|
+
if guard.options[:any_return]
|
63
|
+
paths << result
|
64
|
+
elsif result.respond_to?(:empty?) && !result.empty?
|
65
|
+
paths << Array(result)
|
66
|
+
else
|
67
|
+
next
|
68
|
+
end
|
69
|
+
else
|
70
|
+
paths << matches[0]
|
71
|
+
end
|
72
|
+
|
73
|
+
break if guard.options[:first_match]
|
74
|
+
end
|
75
|
+
|
76
|
+
guard.options[:any_return] ? paths : paths.flatten.map(&:to_s)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# Tests if any of the files is the Guardfile.
|
81
|
+
#
|
82
|
+
# @param [Array<String>] files the files to test
|
83
|
+
# @return [Boolean] whether one of these files is the Guardfile
|
84
|
+
#
|
85
|
+
def self.match_guardfile?(files)
|
86
|
+
path = ::Guard.evaluator.guardfile_path
|
87
|
+
files.any? { |file| File.expand_path(file) == path }
|
88
|
+
end
|
89
|
+
|
90
|
+
# Test the watchers pattern against a file.
|
91
|
+
#
|
92
|
+
# @param [String] file the file to test
|
93
|
+
# @return [Array<String>] an array of matches (or containing a single path
|
94
|
+
# if the pattern is a string)
|
95
|
+
#
|
96
|
+
def match(string_or_pathname)
|
97
|
+
# TODO: use only match() - and show fnmatch example
|
98
|
+
file = string_or_pathname.to_s
|
99
|
+
return (file == @pattern ? [file] : nil) unless @pattern.is_a?(Regexp)
|
100
|
+
return unless (m = @pattern.match(file))
|
101
|
+
m = m.to_a
|
102
|
+
m[0] = file
|
103
|
+
m
|
104
|
+
end
|
105
|
+
|
106
|
+
# Executes a watcher action.
|
107
|
+
#
|
108
|
+
# @param [String, MatchData] matches the matched path or the match from the
|
109
|
+
# Regex
|
110
|
+
# @return [String] the final paths
|
111
|
+
#
|
112
|
+
def call_action(matches)
|
113
|
+
@action.arity > 0 ? @action.call(matches) : @action.call
|
114
|
+
rescue => ex
|
115
|
+
::Guard::UI.error "Problem with watch action!\n#{ ex.message }"
|
116
|
+
::Guard::UI.error ex.backtrace.join("\n")
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
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.7.
|
4
|
+
version: 2.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thibaud Guillaume-Gentil
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -98,8 +98,9 @@ files:
|
|
98
98
|
- images/pending.png
|
99
99
|
- images/success.png
|
100
100
|
- lib/guard.rb
|
101
|
+
- lib/guard.rb.orig
|
102
|
+
- lib/guard/aruba_adapter.rb
|
101
103
|
- lib/guard/cli.rb
|
102
|
-
- lib/guard/cli.rb.orig
|
103
104
|
- lib/guard/commander.rb
|
104
105
|
- lib/guard/commands/all.rb
|
105
106
|
- lib/guard/commands/change.rb
|
@@ -112,23 +113,21 @@ files:
|
|
112
113
|
- lib/guard/deprecator.rb
|
113
114
|
- lib/guard/dsl.rb
|
114
115
|
- lib/guard/dsl_describer.rb
|
115
|
-
- lib/guard/dsl_describer.rb.orig
|
116
116
|
- lib/guard/group.rb
|
117
117
|
- lib/guard/guard.rb
|
118
|
-
- lib/guard/guard.rb.orig
|
119
118
|
- lib/guard/guardfile.rb
|
120
119
|
- lib/guard/guardfile/evaluator.rb
|
121
|
-
- lib/guard/guardfile/evaluator.rb.orig
|
122
120
|
- lib/guard/guardfile/generator.rb
|
123
121
|
- lib/guard/interactor.rb
|
124
122
|
- lib/guard/interactor.rb.orig
|
125
123
|
- lib/guard/jobs/base.rb
|
126
124
|
- lib/guard/jobs/pry_wrapper.rb
|
127
|
-
- lib/guard/jobs/pry_wrapper.rb.orig
|
128
125
|
- lib/guard/jobs/sleep.rb
|
126
|
+
- lib/guard/jobs/stdin.rb.orig
|
129
127
|
- lib/guard/notifier.rb
|
130
128
|
- lib/guard/notifiers/base.rb
|
131
129
|
- lib/guard/notifiers/emacs.rb
|
130
|
+
- lib/guard/notifiers/emacs.rb.orig
|
132
131
|
- lib/guard/notifiers/file_notifier.rb
|
133
132
|
- lib/guard/notifiers/gntp.rb
|
134
133
|
- lib/guard/notifiers/growl.rb
|
@@ -143,22 +142,24 @@ files:
|
|
143
142
|
- lib/guard/plugin/base.rb
|
144
143
|
- lib/guard/plugin/hooker.rb
|
145
144
|
- lib/guard/plugin_util.rb
|
146
|
-
- lib/guard/plugin_util.rb.orig
|
147
145
|
- lib/guard/rake_task.rb
|
148
146
|
- lib/guard/reevaluator.rb
|
149
147
|
- lib/guard/runner.rb
|
150
|
-
- lib/guard/runner.rb.orig
|
151
148
|
- lib/guard/setuper.rb
|
152
149
|
- lib/guard/setuper.rb.orig
|
153
150
|
- lib/guard/sheller.rb
|
151
|
+
- lib/guard/sheller.rb.orig
|
154
152
|
- lib/guard/tags
|
155
153
|
- lib/guard/templates/Guardfile
|
154
|
+
- lib/guard/terminal.rb
|
155
|
+
- lib/guard/terminal.rb.orig
|
156
156
|
- lib/guard/ui.rb
|
157
157
|
- lib/guard/ui.rb.orig
|
158
158
|
- lib/guard/ui/colors.rb
|
159
159
|
- lib/guard/version.rb
|
160
160
|
- lib/guard/version.rb.orig
|
161
161
|
- lib/guard/watcher.rb
|
162
|
+
- lib/guard/watcher.rb.orig
|
162
163
|
- man/guard.1
|
163
164
|
- man/guard.1.html
|
164
165
|
homepage: http://guardgem.org
|
data/lib/guard/cli.rb.orig
DELETED
@@ -1,215 +0,0 @@
|
|
1
|
-
require "thor"
|
2
|
-
|
3
|
-
require "guard"
|
4
|
-
require "guard/version"
|
5
|
-
require "guard/dsl_describer"
|
6
|
-
require "guard/guardfile"
|
7
|
-
|
8
|
-
module Guard
|
9
|
-
# Facade for the Guard command line interface managed by
|
10
|
-
# [Thor](https://github.com/wycats/thor).
|
11
|
-
#
|
12
|
-
# This is the main interface to Guard that is called by the Guard binary
|
13
|
-
# `bin/guard`. Do not put any logic in here, create a class and delegate
|
14
|
-
# instead.
|
15
|
-
#
|
16
|
-
class CLI < Thor
|
17
|
-
default_task :start
|
18
|
-
|
19
|
-
desc "start", "Starts Guard"
|
20
|
-
|
21
|
-
method_option :clear,
|
22
|
-
type: :boolean,
|
23
|
-
default: false,
|
24
|
-
aliases: "-c",
|
25
|
-
banner: "Auto clear shell before each action"
|
26
|
-
|
27
|
-
method_option :notify,
|
28
|
-
type: :boolean,
|
29
|
-
default: true,
|
30
|
-
aliases: "-n",
|
31
|
-
banner: "Notifications feature"
|
32
|
-
|
33
|
-
method_option :debug,
|
34
|
-
type: :boolean,
|
35
|
-
default: false,
|
36
|
-
aliases: "-d",
|
37
|
-
banner: "Show debug information"
|
38
|
-
|
39
|
-
method_option :group,
|
40
|
-
type: :array,
|
41
|
-
default: [],
|
42
|
-
aliases: "-g",
|
43
|
-
banner: "Run only the passed groups"
|
44
|
-
|
45
|
-
method_option :plugin,
|
46
|
-
type: :array,
|
47
|
-
default: [],
|
48
|
-
aliases: "-P",
|
49
|
-
banner: "Run only the passed plugins"
|
50
|
-
|
51
|
-
method_option :watchdir,
|
52
|
-
type: :array,
|
53
|
-
aliases: "-w",
|
54
|
-
banner: "Specify the directories to watch"
|
55
|
-
|
56
|
-
method_option :guardfile,
|
57
|
-
type: :string,
|
58
|
-
aliases: "-G",
|
59
|
-
banner: "Specify a Guardfile"
|
60
|
-
|
61
|
-
method_option :no_interactions,
|
62
|
-
type: :boolean,
|
63
|
-
default: false,
|
64
|
-
aliases: "-i",
|
65
|
-
banner: "Turn off completely any Guard terminal interactions"
|
66
|
-
|
67
|
-
method_option :no_bundler_warning,
|
68
|
-
type: :boolean,
|
69
|
-
default: false,
|
70
|
-
aliases: "-B",
|
71
|
-
banner: "Turn off warning when Bundler is not present"
|
72
|
-
|
73
|
-
method_option :show_deprecations,
|
74
|
-
type: :boolean,
|
75
|
-
default: false,
|
76
|
-
banner: "Turn on deprecation warnings"
|
77
|
-
|
78
|
-
# Listen options
|
79
|
-
method_option :latency,
|
80
|
-
type: :numeric,
|
81
|
-
aliases: "-l",
|
82
|
-
banner: 'Overwrite Listen\'s default latency'
|
83
|
-
|
84
|
-
method_option :force_polling,
|
85
|
-
type: :boolean,
|
86
|
-
default: false,
|
87
|
-
aliases: "-p",
|
88
|
-
banner: "Force usage of the Listen polling listener"
|
89
|
-
|
90
|
-
method_option :wait_for_delay,
|
91
|
-
type: :numeric,
|
92
|
-
aliases: "-y",
|
93
|
-
banner: 'Overwrite Listen\'s default wait_for_delay'
|
94
|
-
|
95
|
-
method_option :listen_on,
|
96
|
-
type: :string,
|
97
|
-
aliases: "-o",
|
98
|
-
default: false,
|
99
|
-
banner: "Specify a network address to Listen on for "\
|
100
|
-
"file change events (e.g. for use in VMs)"
|
101
|
-
|
102
|
-
# Start Guard by initializing the defined Guard plugins and watch the file
|
103
|
-
# system.
|
104
|
-
#
|
105
|
-
# This is the default task, so calling `guard` is the same as calling
|
106
|
-
# `guard start`.
|
107
|
-
#
|
108
|
-
# @see Guard.start
|
109
|
-
#
|
110
|
-
def start
|
111
|
-
_verify_bundler_presence unless options[:no_bundler_warning]
|
112
|
-
::Guard.start(options)
|
113
|
-
end
|
114
|
-
|
115
|
-
desc "list", "Lists Guard plugins that can be used with init"
|
116
|
-
|
117
|
-
# List the Guard plugins that are available for use in your system and
|
118
|
-
# marks those that are currently used in your `Guardfile`.
|
119
|
-
#
|
120
|
-
# @see Guard::DslDescriber.list
|
121
|
-
#
|
122
|
-
def list
|
123
|
-
::Guard::DslDescriber.new(options).list
|
124
|
-
end
|
125
|
-
|
126
|
-
desc "notifiers", "Lists notifiers and its options"
|
127
|
-
|
128
|
-
# List the Notifiers for use in your system.
|
129
|
-
#
|
130
|
-
# @see Guard::DslDescriber.notifiers
|
131
|
-
#
|
132
|
-
def notifiers
|
133
|
-
::Guard::DslDescriber.new(options).notifiers
|
134
|
-
end
|
135
|
-
|
136
|
-
desc "version", "Show the Guard version"
|
137
|
-
map %w(-v --version) => :version
|
138
|
-
|
139
|
-
# Shows the current version of Guard.
|
140
|
-
#
|
141
|
-
# @see Guard::VERSION
|
142
|
-
#
|
143
|
-
def version
|
144
|
-
STDOUT.puts "Guard version #{ ::Guard::VERSION }"
|
145
|
-
end
|
146
|
-
|
147
|
-
desc "init [GUARDS]", "Generates a Guardfile at the current directory"\
|
148
|
-
" (if it is not already there) and adds all installed Guard plugins"\
|
149
|
-
" or the given GUARDS into it"
|
150
|
-
|
151
|
-
method_option :bare,
|
152
|
-
type: :boolean,
|
153
|
-
default: false,
|
154
|
-
aliases: "-b",
|
155
|
-
banner: "Generate a bare Guardfile without adding any"\
|
156
|
-
" installed plugin into it"
|
157
|
-
|
158
|
-
# Initializes the templates of all installed Guard plugins and adds them
|
159
|
-
# to the `Guardfile` when no Guard name is passed. When passing
|
160
|
-
# Guard plugin names it does the same but only for those Guard plugins.
|
161
|
-
#
|
162
|
-
# @see Guard::Guardfile.initialize_template
|
163
|
-
# @see Guard::Guardfile.initialize_all_templates
|
164
|
-
#
|
165
|
-
# @param [Array<String>] plugin_names the name of the Guard plugins to
|
166
|
-
# initialize
|
167
|
-
#
|
168
|
-
def init(*plugin_names)
|
169
|
-
_verify_bundler_presence unless options[:no_bundler_warning]
|
170
|
-
|
171
|
-
::Guard::Guardfile.create_guardfile(abort_on_existence: options[:bare])
|
172
|
-
|
173
|
-
return if options[:bare]
|
174
|
-
|
175
|
-
if plugin_names.empty?
|
176
|
-
::Guard::Guardfile.initialize_all_templates
|
177
|
-
else
|
178
|
-
plugin_names.each do |plugin_name|
|
179
|
-
::Guard::Guardfile.initialize_template(plugin_name)
|
180
|
-
end
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
desc "show", "Show all defined Guard plugins and their options"
|
185
|
-
map %w(-T) => :show
|
186
|
-
|
187
|
-
# Shows all Guard plugins and their options that are defined in
|
188
|
-
# the `Guardfile`
|
189
|
-
#
|
190
|
-
# @see Guard::DslDescriber.show
|
191
|
-
#
|
192
|
-
def show
|
193
|
-
::Guard::DslDescriber.new(options).show
|
194
|
-
end
|
195
|
-
|
196
|
-
private
|
197
|
-
|
198
|
-
# Verifies if Guard is run with `bundle exec` and
|
199
|
-
# shows a hint to do so if not.
|
200
|
-
#
|
201
|
-
def _verify_bundler_presence
|
202
|
-
return unless File.exist?("Gemfile")
|
203
|
-
return if ENV["BUNDLE_GEMFILE"] || ENV["RUBYGEMS_GEMDEPS"]
|
204
|
-
|
205
|
-
::Guard::UI.info <<EOF
|
206
|
-
|
207
|
-
Guard here! It looks like your project has a Gemfile, yet you are running
|
208
|
-
`guard` outside of Bundler. If this is your intent, feel free to ignore this
|
209
|
-
message. Otherwise, consider using `bundle exec guard` to ensure your
|
210
|
-
dependencies are loaded correctly.
|
211
|
-
(You can run `guard` with --no-bundler-warning to get rid of this message.)
|
212
|
-
EOF
|
213
|
-
end
|
214
|
-
end
|
215
|
-
end
|