Commit Graph

240 Commits

Author SHA1 Message Date
Yann Lugrin
d41e9fe7fe don't use system notification library if could not be required 2011-06-07 17:58:02 +02:00
Mislav Marohnić
2997ed6962 skip version comparison if Gem::Version is not available
This decouples Guard from RubyGems
2011-06-07 15:46:30 +02:00
Mislav Marohnić
03aa0b0df8 gemspec: avoid adding the "lib/" directory to load path
Simply reading the gemspec shouldn't activate the gem by adding its
files to the load path.
2011-06-07 15:42:44 +02:00
Thibaud Guillaume-Gentil
ff6629f6f1 Version 0.4.0 2011-06-05 20:53:36 +02:00
Thibaud Guillaume-Gentil
deec4135a9 Updated version deps for rb-fsevent & rb-inotify 2011-06-04 21:38:09 +02:00
Thibaud Guillaume-Gentil
5808a3cf23 Removed merged code commented 2011-06-02 23:58:07 +02:00
John Bintz
087f51085f allow symbols for group names 2011-06-01 14:17:31 -04:00
Michael Kessler
320706e2f5 Merge pull request #51 from indirect/guard
---

This change allows guard plugins (like guard-rspec) to pass options (like :priority) up to the Growl notifier. With this change, things like indirect/rspec-guard@d2f01d69a7 are possible, and the growl notification colors can be customized depending on the outcome of the spec run.

Conflicts:
	lib/guard/notifier.rb
2011-05-30 16:45:15 +02:00
Thibaud Guillaume-Gentil
527e42c8e1 Version 0.4.0.rc 2011-05-28 20:24:57 +02:00
Rémy Coutable
11c3e0b782 Keeping the Changelog up to date and improved the Readme 2011-05-28 19:39:18 +02:00
Thibaud Guillaume-Gentil
42e4413cf2 Fixed guard init 2011-05-28 18:18:45 +02:00
Thibaud Guillaume-Gentil
85ed0f8217 Merge branch 'master' of github.com:guard/guard 2011-05-28 17:53:27 +02:00
Thibaud Guillaume-Gentil
1747f66128 Merge branch 'user_guardfile' of https://github.com/hashrocket/guard into hashrocket-user_guardfile
Conflicts:
	lib/guard/dsl.rb
	spec/guard/dsl_spec.rb
2011-05-28 17:52:50 +02:00
Thibaud Guillaume-Gentil
973aba4375 Merge pull request #64 from stereobooster/master
Windows notifications
2011-05-28 08:32:45 -07:00
Thibaud Guillaume-Gentil
6a77f01645 Merge branch 'master' of https://github.com/niklas/guard into niklas-master
Conflicts:
	lib/guard/listener.rb
	spec/guard/listeners/linux_spec.rb
2011-05-28 17:15:09 +02:00
Thibaud Guillaume-Gentil
1628a1f01d fix for resolving the digest module (again) 2011-05-28 16:50:16 +02:00
Thibaud Guillaume-Gentil
1a883dcf2c Merge branch 'master' of github.com:guard/guard 2011-05-28 16:47:43 +02:00
Thibaud Guillaume-Gentil
8f68778927 Only check sha1_checksum when file mtime.to_i == last_event.to_i (so touching file to fire guard is working again) 2011-05-28 16:47:35 +02:00
Rémy Coutable
36d55d60ec Added new features to Changelog 2011-05-27 18:02:25 +02:00
Rémy Coutable
b471405f4d Merge branch 'master' of https://github.com/anithri/guard into anithri-master-55
Conflicts:
	lib/guard/notifier.rb
	spec/guard/dsl_spec.rb
	spec/guard/listeners/polling_spec.rb
	spec/guard/notifier_spec.rb
2011-05-27 17:56:18 +02:00
Aaron Kalin and Veezus Kreist
a51afdf0e3 Outdent private statement 2011-05-25 14:08:11 -05:00
Aaron Kalin and Veezus Kreist
add80d2831 Conform to project standards 2011-05-25 13:23:02 -05:00
Joshua Davey and Veezus Kreist
debdecbbd7 Allow user-based Guardfiles 2011-05-24 16:44:24 -05:00
John Bintz
307d13a517 fix for resolving the digest module 2011-05-23 21:36:51 -04:00
Yann Lugrin
492b5a4114 require guard/ui because notifier can be required without full guard 2011-05-23 22:35:37 +02:00
slavic
ad3def39e2 Changes connected with new version of rb-notifu 2011-05-22 11:38:54 +03:00
slavic
18d2db9ff1 windows notifiaction works (tested with guard-bundler) 2011-05-22 00:47:02 +03:00
slavic
02448b8575 windows notifiaction 2011-05-21 02:19:42 +03:00
Niklas Hofer
b12769d2bf can give path and options to Listener.select_and_init 2011-05-15 21:45:30 +02:00
Niklas Hofer
a3cf121111 can disable relativation of paths 2011-05-15 21:45:30 +02:00
Niklas Hofer
2f0870abfc refactor Polling Listener to catch deleted and moved files 2011-05-15 21:45:30 +02:00
Niklas Hofer
bc740d725f create shared examples all listeners should behave like 2011-05-15 21:45:30 +02:00
Niklas Hofer
9c44f89a61 can specify directory to listen to, still defaulting to pwd 2011-05-15 21:45:30 +02:00
Thibaud Guillaume-Gentil
55946927c2 Required growl/libnotify each time in Guard::Notifier.notify for guard-rspec formatter that is called out of guard scope 2011-05-13 22:24:49 +02:00
Thibaud Guillaume-Gentil
e0ca761a25 Removed useless \n when saying 'Bye bye...' 2011-05-13 22:05:58 +02:00
Thibaud Guillaume-Gentil
71d8c7009b Back to ENV['GUARD_NOTIFY"] for listener on/off feature because of guard-rspec formatter. 2011-05-13 21:48:30 +02:00
Scott Parrish
3f15bbc1f0 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/guard/notifier.rb
	spec/guard/notifier_spec.rb
2011-05-11 13:19:15 -06:00
Thibaud Guillaume-Gentil
f424854e61 Refactorized notifier enabling/disabling 2011-05-10 21:22:25 +02:00
Thibaud Guillaume-Gentil
0dcf13d77c - Handled quick file (<1s) modification
- Avoid to catch modified files without content modification (sha1 checksum)
(Specs needed)
2011-05-09 09:39:11 +02:00
Thibaud Guillaume-Gentil
f7140f2b1c Removed commented stuff 2011-05-09 09:36:09 +02:00
Thibaud Guillaume-Gentil
aabf0583b3 Merge branch 'master' of github.com:guard/guard
Conflicts:
	lib/guard.rb
	spec/guard_spec.rb
2011-05-08 22:01:35 +02:00
Thibaud Guillaume-Gentil
1e5ab84b3a Fixed Guard::Notifier (when growl/libnotify not present) 2011-05-08 21:56:46 +02:00
Scott Parrish
6b35e96e8d previous changes were made to Dsl that built on the options hash that was passed to it.
Except the options hash is actually a
    Thor::CoreExt::HashWithIndifferentAccess

so, i reorganized the internal access and storage to read original data from the passed hash, but stores it into a local hash.

No tests changed since no external behavior changed.  All tests passed.

This fixes the issue when the binary is run and results in a
     can't modify frozen hash (RuntimeError)

small change to fix specs to run and always have @@orig_options be locked.
2011-05-07 12:43:24 -06:00
Scott Parrish
2a834e1228 previous changes were made to Dsl that built on the options hash that was passed to it.
Except the options hash is actually a
    Thor::CoreExt::HashWithIndifferentAccess

so, i reorganized the internal access and storage to read original data from the passed hash, but stores it into a local hash.

No tests changed since no external behavior changed.  All tests passed.

This fixes the issue when the binary is run and results in a
     can't modify frozen hash (RuntimeError)
2011-05-07 12:04:59 -06:00
slavic
92f81d383a Merge with current guard (commit '5352528530f29d3db523261560ee6920063c85b5') 2011-05-07 15:17:41 +03:00
Scott Parrish
562c367383 Made slight alteration to Guard::Notifier. pulled out logic into #should_send? to allow for stubbing in tests and added #turn_on to allow more flexibility for when things are or are not sent.
Notifier Specs changed to make pass, expanded and to use new notify strategies.  NOTE mac tests not tested.

i like the @enable as opposed to @disable, should be easy to reverse if necessary though
2011-05-07 00:43:21 -06:00
Scott Parrish
526d769e22 update to current upstream 2011-05-06 21:18:42 -06:00
Scott Parrish
8ea296bf8f Guard::Dsl changed massively. overall strategy was to decouple to evaluate_guardfile into "getting the data" and "using the data" parts. this provides the ability to pass a string that contains the contents of a guardfile, or to pass a filename for a guardfile as well as reading the default loc for a guardfile.
Dsl specs changed massivly to support new style of Dsl
2011-05-06 20:53:34 -06:00
Thibaud Guillaume-Gentil
5352528530 Merge branch 'master' of https://github.com/stereobooster/guard into stereobooster-master
Conflicts:
	lib/guard/interactor.rb
2011-05-06 23:35:09 +02:00
Thibaud Guillaume-Gentil
2f94f9e22f Fixed notification option
Only print notification "Install message" once
Added GUARD_NOTIFY=false env variable support
Fixes #28
2011-05-06 23:19:31 +02:00
Thibaud Guillaume-Gentil
fa44ef31bc Moved stop "\n" 2011-05-06 22:58:18 +02:00
Thibaud Guillaume-Gentil
d6d9dd9e75 Merge pull request #58 from nicksieger/interactor-module-methods
Extract code from signal handlers into methods
2011-05-06 12:08:45 -07:00
Nick Sieger
70c15a7c94 Extract code from signal handlers into methods
This will allow building other mechanisms to interact with Guard, for
example on JRuby, where signal handling tends to be unreliable.
2011-05-06 12:45:47 -05:00
Nick Sieger
5c1e264c39 Fix spec on JRuby that was failing due to different execution order 2011-05-06 12:09:00 -05:00
Bruno Tavares
ed0b086cc5 Removed the unless with multiple conditions. Changed it back to if 2011-05-05 20:52:11 -03:00
Bruno Tavares
cefb872360 Changed some conditions to positive statement 2011-05-05 20:14:58 -03:00
Scott Parrish
f3d49ee81e Made slight alteration to Guard::Notifier. pulled out logic into #should_send? to allow for stubbing in tests and added #turn_on to allow more flexibility for when things are or are not sent.
Notifier Specs changed to make pass, expanded and to use new notify strategies.  NOTE mac tests not tested.
Guard::Dsl changed massively.  overall strategy was to decouple to evaluate_guardfile into "getting the data" and "using the data" parts.  this provides the ability to pass a string that contains the contents of a guardfile, or to pass a filename for a guardfile as well as reading the default loc for a guardfile.
Dsl specs changed massivly to support new style of Dsl
listener/linux_spec changed to add a few :long_running tags and to alter some paths to correct values
listener/polling_spec changed to add a few :long_running tags and to alter some paths to correct values
2011-05-05 03:05:58 -06:00
slavic
0f7bca7bbd now all specs work 2011-05-01 21:49:16 +03:00
slavic
94e04ec7e0 add support for Windows using rb-fchange. Specs fail because of k32WaitForMultipleObjects blocks all threads 2011-04-30 13:38:57 +03:00
Rémy Coutable
20b8a9af69 Merge branch 'hook' of github.com:guard/guard into hook
Conflicts:
	lib/guard.rb
	lib/guard/dsl.rb
	lib/guard/hook.rb
	spec/guard/dsl_spec.rb
	spec/guard/hook_spec.rb
	spec/guard_spec.rb
2011-04-30 00:49:46 +02:00
Rémy Coutable
e853009528 Refactored Guard::Dsl#callback and updated specs, improved inline docs for Guard::Hook#hook, added ENV["GUARD_ENV"] = 'development' in Guardfile so we see hooks firing! Run specs on REE too.
Signed-off-by: Rémy Coutable <rymai@rymai.me>
2011-04-30 00:45:38 +02:00
monocle
134cbdb007 Hook - 1) Send args to hooks from Guard.supervised_task
2) Pass args from hooks to callbacks
3) Suppress UI message from hooks unless in 'development'
2011-04-30 00:45:38 +02:00
Rémy Coutable
b83653db2e Added #callback DSL, modified Guard and Guard::Hook a bit in consequence.
Signed-off-by: Rémy Coutable <remy@jilion.com>
2011-04-30 00:45:38 +02:00
monocle
b646ae53f6 Fix preexisting tests after adding default hooks 2011-04-30 00:45:13 +02:00
monocle
386b0be53d Hooks - Add :begin and :end hook to all guard actions via Guard.supervised_task 2011-04-30 00:41:25 +02:00
monocle
7916139726 Added hook/callback feature. 2011-04-30 00:41:25 +02:00
Andre Arko
ae1ae1cfbd Allow options (like :priority) to be passed through to Growl 2011-04-28 20:22:41 -07:00
Jeff Sacks
38c371272d fixing require bug; updating documentation and version 2011-04-25 09:18:59 -05:00
slavic
6ecb72c9cb support color on windows 2011-04-24 22:30:54 +03:00
slavic
cbe2cb353c fix issue #27 2011-04-24 20:21:39 +03:00
Thibaud Guillaume-Gentil
d329e4e3b0 Version 0.3.3 2011-04-19 09:40:56 +02:00
Thibaud Guillaume-Gentil
c5df9949fe Version 0.3.2 2011-04-17 21:49:07 +02:00
Rémy Coutable
5b8ae609da Merge branch 'master' into hook
Conflicts:
	lib/guard/guard.rb
	spec/guard_spec.rb
2011-04-16 23:23:08 +02:00
Rémy Coutable
9b981f5459 Run guards for new modified files only if any guard match any file (preventing from clearing the screen when no guard will run!).
Signed-off-by: Rémy Coutable <remy@jilion.com>
2011-04-16 23:13:29 +02:00
Rémy Coutable
44aed3264c Added #callback DSL, modified Guard and Guard::Hook a bit in consequence.
Signed-off-by: Rémy Coutable <remy@jilion.com>
2011-04-16 23:02:13 +02:00
monocle
1d38c59200 Fix preexisting tests after adding default hooks 2011-04-14 13:56:12 -07:00
Thibaud Guillaume-Gentil
1027e4b6b3 Version 0.3.1 2011-04-14 13:54:18 -07:00
Nico Rieck
154ef207ed Use the correct ANSI escape code to reset SGR parameters. 2011-04-14 13:54:18 -07:00
monocle
7b559ce255 Hooks - Add :begin and :end hook to all guard actions via Guard.supervised_task 2011-04-14 13:31:34 -07:00
Thibaud Guillaume-Gentil
0c37dcd35a Version 0.3.1 2011-04-14 21:39:29 +02:00
Thibaud Guillaume-Gentil
2359723763 Merge branch 'fix/ui-reset-line' of https://github.com/gix/guard into gix-fix/ui-reset-line 2011-04-14 21:29:18 +02:00
monocle
c4ce612bde Added hook/callback feature. 2011-04-10 16:08:43 -07:00
Thibaud Guillaume-Gentil
42c27242e1 Added a command line option (-n false) to disable notifications (growl/libnotify). closed #28 2011-04-10 22:32:29 +02:00
Nico Rieck
74ddb05d2d Use the correct ANSI escape code to reset SGR parameters. 2011-03-24 21:36:24 +01:00
Marian Schubert
9ff627cfaa Return unique filenames from Linux listener
so that we don't get duplicate entries for same file. This solves problem with
commonly used Linux editors (e.g. Vim, Emacs) that generate multiple inotify
events on file save.

http://schettino72.wordpress.com/2010/03/07/inotify-text-editors-emacs-vim/
2011-01-26 12:17:09 +00:00
Thibaud Guillaume-Gentil
95da678d6a Bump to 0.3.0 2011-01-19 23:07:14 +01:00
Thibaud Guillaume-Gentil
9772e9d9c8 Replaced Thread (incompatible with inotify) by a whole dir scan after each run_on_changes 2011-01-19 23:05:45 +01:00
Rémy Coutable
73b2d0ba53 Removed not-used-anymore accessor 2010-12-17 20:57:11 +01:00
Rémy Coutable
1c86b1e632 Fix "uninitialized class variable @@guardfile in Guard::Dsl" 2010-12-17 18:44:12 +01:00
Rémy Coutable
a0f1ac4053 Renamed Guard::Dsl.guardfile_included? to Guard::Dsl.guardfile_include? (private API) and fix a bug where Guard::Dsl.guardfile_include? was not detecting guard specified with a symbol, double quotes or parenthesis in Guardfile.
e.g.:
guard :rspec
guard ('rspec')
guard("rspec")
...
2010-12-17 18:37:44 +01:00
Rémy Coutable
f90823ae90 Shortened implementation of the new group DSL method and made it (+ specs) clearer 2010-12-17 18:13:31 +01:00
Michael Kessler
63af219490 Enhance the DSL to allow grouping of guard definitions and run them selectively 2010-12-17 16:31:39 +01:00
Rémy Coutable
c788c00099 Fix bug that occurred when pattern was a string and no action was associated. 2010-12-16 15:09:36 +01:00
Rémy Coutable
d0891efdc0 Remove useless variable assignment 2010-12-16 15:08:26 +01:00
Rémy Coutable
ebe94d213b Improved deprecation warning message 2010-12-16 09:15:14 +01:00
Rémy Coutable
1831bf752f Guard no more automatically convert String into Regexp in "watch" method patterns.
It allows to define:

watch("foo_bar.rb") without meaning /foo_bar.rb/ (where "foo_bar_rb.rb" would have been matched)

However, during the deprecation phase, strings that look like a regexes (e.g. "^foo_bar.rb", "foo_bar.rb$", "foo_.*bar.rb" or "foo_(bar|baz).rb" are converted automatically to Regexp and a *very annoying* deprecation message is displayed.
2010-12-16 01:22:42 +01:00
Thibaud Guillaume-Gentil
b16239cdc5 Added guard-stendhal & guard-soca 2010-11-30 22:46:52 +01:00
Thibaud Guillaume-Gentil
2fc6745837 Merge branch 'master' of github.com:guard/guard
Conflicts:
	lib/guard.rb
	lib/guard/interactor.rb
	spec/guard_spec.rb
2010-11-30 21:23:53 +01:00
Thibaud Guillaume-Gentil
53a79691a5 Kept listener running in thread even when guards plugin are also running. 2010-11-30 21:15:03 +01:00
Rémy Coutable
7f39a55fdf Use 'guard' instead of 'g', use parenthesis and don't explicitly return when not necessary 2010-11-26 00:58:36 +01:00
Rémy Coutable
3116b13f1b Optimized spec_helper, remove useless code and add the "bypass when test env" for UI.error 2010-11-26 00:57:08 +01:00
Rémy Coutable
47d1e11743 Added specs for Guard::Watcher, allow enumerables in 'watch' blocks. 2010-11-26 00:55:21 +01:00
Thibaud Guillaume-Gentil
85beb5e97a Don't call run_on_change guard method when there is no matched files. 2010-11-25 08:52:53 +01:00
Thibaud Guillaume-Gentil
eebd74b253 Added options to error/debug UI method 2010-11-11 11:02:29 +01:00
Olivier Amblet
dd1100b4ae Added DSL specs and improved error message.
DSL now have basics specs that confirm it works
I splitted file not found and invalid Guardfile
error message because it was confusing to know
in which case you are when it occurs :)
2010-10-30 18:26:09 +02:00
Thibaud Guillaume-Gentil
01bf7505cd Merge branch 'master' of http://github.com/oliamb/guard into oliamb-master
Conflicts:
	lib/guard/guard.rb
2010-10-28 08:23:02 +02:00
Thibaud Guillaume-Gentil
470e763339 Updated guard methods readme 2010-10-27 22:14:21 +02:00
Olivier Amblet
cb8b845eb6 A bad guard do not threaten the whole process.
Every guard task are now executed through
supervised_task method.

If a guard failed to achieve its task(raise error)
a message is logged and the guard is fired.

The stop method now always quit the application
at the end.

Specs added. The documentation specify that if a
throw an exception, it will be dismissed.
2010-10-27 15:18:00 +02:00
Thibaud Guillaume-Gentil
a38b1ecc60 Bump to 0.2.2 2010-10-26 21:24:29 +02:00
Thibaud Guillaume-Gentil
edeaa1e864 Depends on rb-fsevent >= 0.3.5 for ruby 1.8.6 support 2010-10-26 21:24:04 +02:00
Thibaud Guillaume-Gentil
9c89577a6d Merge branch 'master' of http://github.com/oliamb/guard into oliamb-master 2010-10-26 20:16:11 +02:00
Olivier Amblet
20d6938cf6 Added some docs about stop method
Tell about the fact that the stop metod must
return a value which can be evaluated to true if
everything went well.
2010-10-26 19:28:49 +02:00
Thibaud Guillaume-Gentil
6c89086dea Updated Notifier readme 2010-10-25 21:36:45 +02:00
Thibaud Guillaume-Gentil
5d0ec698de Properly close rb-fsevent pipe after killed it
Closes #5.
2010-10-25 21:36:04 +02:00
Yann Lugrin
7bae189eba more specs on linux listener 2010-10-25 11:16:56 +02:00
Yann Lugrin
0bff5e86d8 wait latency before inotify process to better prevent multiple run of guard on change 2010-10-25 10:24:33 +02:00
Thibaud Guillaume-Gentil
df5278e988 Bump to 0.2.1 2010-10-24 10:31:16 +02:00
Thibaud Guillaume-Gentil
9742ce86a0 Updated rb-fsevent 2010-10-24 10:31:00 +02:00
Yann Lugrin
7af452dc4c don't need to be dup 2010-10-24 04:30:10 +08:00
Yann Lugrin
dd04914657 Linux support work fine now, don't loop more one time on same test. 2010-10-24 04:30:10 +08:00
Yann Lugrin
080ffe2efc stop linux listener quickly 2010-10-24 04:30:09 +08:00
Yann Lugrin
e19a9304ec Change inotify watch options to not fire event when file is juste read 2010-10-24 04:30:08 +08:00
Thibaud Guillaume-Gentil
5371f467ff Bump to 0.2.0 2010-10-21 20:56:22 +02:00
Yann Lugrin
08a9df7bab better support for jruby under linux (but all spec don't pass) 2010-10-22 02:24:02 +08:00
Yann Lugrin
ffe9f933b0 test of linux listener usability work with ruby 1.9.2 2010-10-22 02:24:02 +08:00
Yann Lugrin
31cfcc23d4 linux listener (and spec) work 2010-10-22 02:24:01 +08:00
Yann Lugrin
8a63b94247 waiting on file system event don't block process on linux now (guard can be stopped, spec run but don't pass) 2010-10-22 02:23:59 +08:00
Thibaud Guillaume-Gentil
6db69c1b6a Removed growl & libnotify dependencies from gemspec 2010-10-19 21:49:17 +02:00
Yann Lugrin
a9d31d292a rescue Interrupt in Linux Listeners 2010-10-20 03:10:34 +08:00
Thibaud Guillaume-Gentil
c347c2c7e0 Added 1.8.6 compatibility
Closes #2.
2010-10-18 21:45:31 +02:00
Thibaud Guillaume-Gentil
ee3f3f64f7 Bump to 0.2.0.beta.1 (linux support not tested yet) 2010-10-17 21:43:45 +02:00
Thibaud Guillaume-Gentil
3f922a0667 Refactorized listeners support
Added polling fallback
Removed sys-uname dependency
2010-10-17 21:42:40 +02:00
Thibaud Guillaume-Gentil
b5194dd2e4 Bump to 0.1.1 2010-10-10 12:39:09 +02:00
Thibaud Guillaume-Gentil
8b5ecd9a8a Added debug start option 2010-10-10 12:38:25 +02:00
Thibaud Guillaume-Gentil
5fc3ae7f52 Bump to 0.1.0 2010-10-08 15:00:45 +02:00
Thibaud Guillaume-Gentil
9995498fa5 Bump to beta 2 2010-10-07 22:37:55 +02:00
Thibaud Guillaume-Gentil
057acfbb2f Added init feature 2010-10-07 22:37:30 +02:00
Thibaud Guillaume-Gentil
bc5cc10d42 Fixed watch block without params on 1.9.2 2010-10-07 22:37:13 +02:00
Thibaud Guillaume-Gentil
0e4d75eda2 Rescued recent_file? if file isn't exist anymore
Closes #1.
2010-10-07 20:53:29 +02:00
Thibaud Guillaume-Gentil
4d3744ff43 Initial commit 2010-10-03 23:00:33 +02:00