Commit Graph

216 Commits

Author SHA1 Message Date
Rémy Coutable
06be2107af Dir.glob now ignores files that don't need to be watched
By default, we don't watch ., .., .bundle, .git (this is HUGE), log, tmp and vendor (this is also HUGE). Also don't append '/' to the dir given to Guard::Listener#potentially_modified_files, the method now handles it internally.

In my case, Guard::Listener#potentially_modified_files was taking ~56 seconds (in a big Rails project), it takes now... less than 1 second.

Enjoy.
2011-07-21 01:40:40 +02:00
Rémy Coutable
9cc1cf64d1 Use Guard::Listener#worker as much as possible 2011-07-21 01:30:22 +02:00
Rémy Coutable
802d134165 Don't add attr_reader and attr_writer when unecessary
Rename Guard::Listener#relativate_paths to Guard::Listener#relativize_paths
2011-07-21 01:29:05 +02:00
Rémy Coutable
8a1ca41626 Moved Guard::Listener#update_last_event inside Guard::Listener#modified_files
Since the pattern was to always call Guard::Listener#update_last_event after Guard::Listener#modified_files.
2011-07-21 01:25:06 +02:00
Rémy Coutable
a318e03ad1 Added a debug message when running run_on_change
So the debug mode is a little more useful...

Also added timestamp in debug print
2011-07-21 01:21:04 +02:00
Thibaud Guillaume-Gentil
76c2977b67 Version 0.5.1 2011-07-15 08:35:12 +02:00
Thibaud Guillaume-Gentil
694664ced8 Closes #100 2011-07-15 08:32:34 +02:00
Scott Bronson
8d27fff74d Fix undefined method `empty?' for nil:NilClass error 2011-07-14 11:42:26 -07:00
John Bintz
7f87411189 remove growl support completely 2011-07-06 15:45:20 -04:00
Thibaud Guillaume-Gentil
649920b7f0 Version 0.5.0 2011-07-02 10:23:18 +02:00
Thibaud Guillaume-Gentil
e7cc14152d Merge branch 'master' of github.com:guard/guard 2011-07-02 10:01:54 +02:00
Thibaud Guillaume-Gentil
ba0b84838d Integrated Guard::Ego inside Guard, oh yeah! 2011-07-02 10:01:45 +02:00
John Bintz
facd4f2a0b force use of Guard application name when using growl_notify 2011-07-01 11:52:24 -04:00
Michael Kessler
d78ecb45fb Change inotify event flags (Closes #12).
There have been some issues with Guard in Linux, which all lead back
to the selection of the proper inotify flags. It seems that almost each
editors behaves different when it comes to save a file. @jeffutter
started to collect information about these events, which are now listed
in the Guard wiki:

https://github.com/guard/guard/wiki/Analysis-of-inotify-events-for-different-editors

If you miss your favorite editor, please add your analysis to the list.
2011-06-30 09:23:12 +02:00
John Bintz
b13255a9f8 more test and support for growl_notify 2011-06-28 16:53:23 -04:00
John Bintz
e53036ad05 add support for growl_notify 2011-06-28 16:15:14 -04:00
Julio Capote
8e91b5f737 Forgot to join the backtrace array with newlines for better output 2011-06-22 17:00:15 -07:00
Julio Capote
673fa0eebc Better exception handling
This shows the backtrace when there is a problem with a watch action, makes for easier watch debugging
2011-06-22 16:47:12 -07:00
Thibaud Guillaume-Gentil
8c5be4536b Merge pull request #92 from tpope/hidden_home_config_file
Make home Guardfile hidden
2011-06-22 12:22:18 -07:00
Tim Pope
524af462d9 Make home Guardfile hidden 2011-06-22 10:54:50 -04:00
John Bintz
72f31c9eba inspect values rather than simply print them, so that strings appear quoted 2011-06-21 10:34:11 -04:00
John Bintz
ae320fe003 remove useless method 2011-06-21 09:58:02 -04:00
John Bintz
ef79b5e720 use Guard::UI instead of straight puts 2011-06-21 09:55:04 -04:00
John Bintz
aa3010af91 show the guards defined in the Guardfile with 'guard show' or 'guard -T' 2011-06-21 09:54:52 -04:00
Yann Lugrin
a6f3ebebfa Linux listener work more like others listeners
Now use modified_file method from listener api to ensure similar
behavior to the other platform. This change avoid unwanted behavior
when multiple events are raised for a file (like running tests more
one times).
2011-06-20 16:09:47 +02:00
stereobooster
2b6d524cfb add const ANSI_ESCAPE_BRIGHT = "1" 2011-06-20 05:33:08 -07:00
stereobooster
3464d59cb7 more color support for UI 2011-06-20 05:26:44 -07:00
stereobooster
e4514ab298 Fix issue #12. Test it without win32console. 2011-06-20 03:13:28 -07:00
Yann Lugrin
043d285894 don't return directories when requesting files 2011-06-20 10:08:32 +02:00
Rémy Coutable
20dd08e977 Write exception details using UI.error, and UI.error will now output "ERROR:" in red! 2011-06-19 20:24:47 +02:00
Rémy Coutable
709f63754e Cleaned/improved description of CLI options 2011-06-19 12:22:32 +02:00
Rémy Coutable
5996951685 Really? "return"? 2011-06-19 12:22:09 +02:00
Ricardo Markiewicz
d51b457b71 Improve INotify support on linux (fixes #79 #82)
Improve usage with several text editors that writes to temporal
files and then move over the original filename instead of write
files directly. Tested with GEdit, Nano, vim (with 'set backup'
and 'set nobackup') and emacs.
2011-06-17 18:48:35 +02:00
slavic
61b0a7aa05 Fix issue #12. Specs don't work. Fails beacause of ".git/index" 2011-06-17 00:36:16 +03:00
Konstantin Shabanov
668e0f4d85 Use RbConfig instead of obsolete and deprecated Config. 2011-06-16 18:14:51 +07:00
Yann Lugrin
ca7b98099c Watching dotfile (hidden files under unix) fix #80 2011-06-15 18:02:32 +02:00
Thibaud Guillaume-Gentil
952d4b4b81 Version 0.4.2 2011-06-08 09:12:06 +02:00
Thibaud Guillaume-Gentil
a2b3927a2e Fixed Guard::Version in ruby 1.8.7 2011-06-08 09:10:26 +02:00
Thibaud Guillaume-Gentil
1681bc8b45 Version 0.4.1 2011-06-07 21:27:19 +02:00
Thibaud Guillaume-Gentil
7360e4a8cd Merge branch 'enhancements' of https://github.com/mislav/guard into mislav-enhancements 2011-06-07 21:16:28 +02:00
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
Andre Arko
ae1ae1cfbd Allow options (like :priority) to be passed through to Growl 2011-04-28 20:22:41 -07:00