Commit Graph

215 Commits

Author SHA1 Message Date
Thibaud Guillaume-Gentil
e1472cb0c4 Make specs pass on jruby & rubinius (Mac OS X) 2011-09-03 22:37:36 +02:00
Thibaud Guillaume-Gentil
ee5468eeeb Don't kill listener thread on spec 2011-09-03 21:44:09 +02:00
Thibaud Guillaume-Gentil
8b66b71716 Travis test 2011-09-03 21:33:06 +02:00
Thibaud Guillaume-Gentil
5978e875df Put mtime (maybe ctime is updated on linux when moving a file) 2011-09-03 14:43:25 +02:00
Thibaud Guillaume-Gentil
68efb0d52f Focus on failed spec 2011-09-03 14:30:15 +02:00
Thibaud Guillaume-Gentil
18cb3471af Try to debug linux spec on travis 2011-09-03 14:16:32 +02:00
Thibaud Guillaume-Gentil
905c32dcc9 Add listener spec for chmod modification 2011-09-03 14:15:54 +02:00
Thibaud Guillaume-Gentil
f8b4f45737 Fix spec 2011-09-02 16:22:09 +02:00
Thibaud Guillaume-Gentil
c4ddb29fc6 Work on specs 2011-09-01 23:24:45 +02:00
Thibaud Guillaume-Gentil
5c1fb285e8 Merge branch 'master' into stdin
Conflicts:
	lib/guard/listener.rb
2011-09-01 21:28:03 +02:00
Ian White
54773af2b0 Adds ignore_paths to DSL 2011-09-01 12:30:34 +01:00
Ian White
c74c9c9bf9 Add ignore_paths option to listener 2011-09-01 10:19:20 +01:00
Tim Pope
b59d6ac07b Add a user guard config
Users can add additional settings to ~/.guard.rb that augment the
existing Guardfile.
2011-08-31 04:07:42 -04:00
Thibaud Guillaume-Gentil
5de94ccbcb Merge branch 'master' into stdin
Conflicts:
	Guardfile
	lib/guard.rb
2011-08-30 21:16:30 +02:00
Michael Kessler
0e1564ef3b Revert "remove growl support completely"
This reverts commit 7f87411189.
2011-08-17 14:27:40 +02:00
Rémy Coutable
652c3d8661 Merge branch 'master' into hook
Conflicts:
	lib/guard.rb
	lib/guard/dsl.rb
	spec/guard/dsl_spec.rb
	spec/guard_spec.rb
2011-08-17 10:45:20 +02:00
Rémy Coutable
dc2ab97d23 Pass the group in the options hash instead of a new parameter in the Guard::Guard.initialize method! 2011-08-17 10:04:42 +02:00
Rémy Coutable
eb347ee266 Merge branch 'master' into hook
Conflicts:
	Gemfile
	Guardfile
	README.markdown
	Rakefile
	lib/guard.rb
	lib/guard/dsl.rb
	lib/guard/interactor.rb
	lib/guard/listener.rb
	lib/guard/ui.rb
	lib/guard/watcher.rb
	spec/guard/dsl_spec.rb
	spec/guard/notifier_spec.rb
2011-08-17 01:34:27 +02:00
Rémy Coutable
dd86402109 Add @groups attributes to keep track of the groups, ordered as in the Guardfile 2011-08-17 00:39:45 +02:00
Rémy Coutable
6f7ce6feb7 On a guard's initialization, pass the group in which it's been declared in the Guardfile, pass group's name on Guard.add_guard and thus in the Dsl 2011-08-17 00:36:02 +02:00
Rémy Coutable
24f0d21f71 Try to reduce specs execution time by providing an option for the "rest delay" before & after starting / stopping the listener. 2011-08-17 00:27:02 +02:00
Rémy Coutable
0b945f10ec Ensure that scoped groups and group name are symbolized before checking for inclusion.
This is useful since Dsl.evaluate_guardfile can be called directly (hence, options are note passed by Thor, which stringify options).
2011-08-17 00:26:03 +02:00
Thibaud Guillaume-Gentil
d6e27fe334 Merge branch 'master' into stdin
Conflicts:
	Guardfile
2011-08-16 09:08:05 +02:00
Ches Martin
ca2a4fa1be Don't fail specs because of blasted vim swapfiles 2011-08-14 15:22:07 +07:00
Ches Martin
87375c7a1f evaluate_guardfile uses all groups if none specified. Fixes #118 2011-08-14 15:16:16 +07:00
Thibaud Guillaume-Gentil
573ddf9d9d First trial to remove Posix Signals interaction 2011-08-13 16:43:32 +02:00
Thibaud Guillaume-Gentil
3c326611e9 Merge pull request #99 from johnbintz/also-use-growl_notify
Option to also use growl_notify gem
2011-08-13 07:42:08 -07:00
Rémy Coutable
95b86a38c7 Fix specs (hopefully) 2011-08-11 12:09:24 +02:00
Christian Höltje
091ecf3322 Add list command to CLI
This adds a list command, that shows all available
guard gems.

https://github.com/guard/guard/issues/111
2011-08-08 20:11:22 -04:00
Michael Kessler
9175b33da4 Merge branch 'master' of https://github.com/uk-ar/guard into uk-ar-master
Conflicts:
	CHANGELOG.md
	lib/guard.rb
	lib/guard/cli.rb
2011-08-05 14:37:08 +02:00
Michael Kessler
14a859d728 Fix spec for Guard.get_guard_class 2011-08-05 10:23:54 +02:00
Rémy Coutable
6b30238735 Use #[] instead of #has_key? since it is more flexible (accept symbol as key for actual string keys in the hash). 2011-07-29 09:05:40 +02:00
Rémy Coutable
38067f447f Add some specs for Guard.start (just to ensure core methods are well called…) 2011-07-29 00:23:20 +02:00
Rémy Coutable
1481604411 Rename Guard::Dsl.revaluate_guardfile to Guard::Dsl.reevaludate_guardfile 2011-07-29 00:22:53 +02:00
Rémy Coutable
7bfe5a3259 Fix Linux spec 2011-07-21 02:24:03 +02:00
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
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
Thibaud Guillaume-Gentil
be8cd87be9 Prevents notification on revaluate_guardfile spec 2011-07-15 08:33:13 +02:00
John Bintz
7f87411189 remove growl support completely 2011-07-06 15:45:20 -04:00
yuuki arisawa
8d02eec38c Add support not to change files when dry run. 2011-07-02 19:16:06 +09: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
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
yuuki arisawa
847b2b8740 Added some specs,and some lines in README/CHANGELOG for dry-run option.
And added support for Kernel.#` and %x literal.
2011-06-28 22:13:24 +09:00
Rémy Coutable
59b1ea2c96 Added @capotej to the CHANGELOG 2011-06-23 18:02:49 +02:00
Julio Capote
05e55545b7 passing specs for watcher exception handling 2011-06-23 08:52:02 -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
c3ddeac36f remove empty spec 2011-06-21 10:33:21 -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
Yann Lugrin
043d285894 don't return directories when requesting files 2011-06-20 10:08:32 +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
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
7360e4a8cd Merge branch 'enhancements' of https://github.com/mislav/guard into mislav-enhancements 2011-06-07 21:16:28 +02:00
Yann Lugrin
da1800f18a .turn_on can't work for other platform, stub .enabled? instead 2011-06-07 19:13:48 +02:00
Yann Lugrin
d41e9fe7fe don't use system notification library if could not be required 2011-06-07 17:58:02 +02:00
Yann Lugrin
e2b13d2dc5 bad use of around rspec hook (tests passes every times even if should fail) 2011-06-07 17:35:49 +02:00
Mislav Marohnić
17a654b171 refactor get_guard_class to first try the constant and fallback to require
This enables defining inline guard handlers to override ones present in gems,
e.g. you could define an inline Guard::RSpec handler and have guard use that
instead of first trying to load 'guard/rspec' from the 'guard-rspec' gem.

Also gets rid of the ill-named method `try_to_load_gem`. Handlers are simply
found in the $LOAD_PATH and don't have to necessarily come from gems.
2011-06-07 15:42:45 +02:00
Rémy Coutable
cb5843aa47 In Ruby < 1.9, Symbol#downcase doesn't exist! 2011-06-02 00:40:37 +02:00
John Bintz
b0d30900fb add additional spec to test string-only guard group names 2011-06-01 15:00:01 -04:00
John Bintz
087f51085f allow symbols for group names 2011-06-01 14:17:31 -04:00
Michael Kessler
1bcfdfd3ad Make the notifier spec more robust on notification library loading.
I really love travis-ci, it makes my life easier AND harder.
2011-05-30 17:20:39 +02: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
Michael Kessler
2bebca2fcf Make the notifier spec test all platforms on any platform. 2011-05-30 16:04:02 +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
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
72734e1587 Fixed a bug preventing from using "guard :test" in Guardfile! 2011-05-27 17:56:46 +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
9928f80c76 Fix guardfile_path spec for Windows support 2011-05-25 13:32:56 -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
310bc5b644 support for dashes in guard names 2011-05-23 19:07:12 -04: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
7b95eeb275 must not use touch on Linux 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
Michael Kessler
30e4611342 Update the last event time after the rest period. 2011-05-13 12:33:56 +02:00
Michael Kessler
5f0c815256 Cleaning up all specs.
I basically went through all specs and applied the following rules:

* Use `describe` for methods and `context` for contexts.
* All class methods starts with `.` and instance methods with `#`.
* Removed all `it should`, because the specs _have to_.
* Applied a consistant naming on all listener specs.
* Make fixture usage more fail save by giving generous sleep times.
* Make all behaviour description non-technical and easy to understand.

The goal of this excercise was to have a documentation that is easy
readable and describes the behaviour and not the implementation.

Try it out by using the RSpec documentation format!
2011-05-13 11:26:05 +02:00
Michael Kessler
1db2456a45 Avoid result sorting by using =~ for array matching. 2011-05-13 09:01:12 +02:00
Michael Kessler
4e47e3e652 Wait 1 second before continue, so the fixture modifications won't influence the subsequent specs.
This is merely a guess, because all specs pass fine on the local machine but on Travis CI the next
spec that uses the fixtures fails. This might be a problem related to the rounding of the timestamps
in #file_modified?.
2011-05-12 20:27:07 +02:00
Michael Kessler
beb9f92409 Don't rely on the (almost random) order of an Array. 2011-05-12 18:16:32 +02:00
Michael Kessler
d3dab8b962 Remove unnecessary File creation. Specs are now passing on 1.8.7. 2011-05-12 17:01:48 +02:00
Michael Kessler
a1606b511f Fix sleep typo 2011-05-12 15:03:55 +02:00
Michael Kessler
d36f4c332f Add missing specs for file modification detection (See SHA: 0dcf13d77c) 2011-05-12 15:01:21 +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
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