Commit Graph

44 Commits

Author SHA1 Message Date
Michael Kessler
b64b7882f7 Refactor massive execute_supervised_task_for_all_guards method.
- Renamed some Guard methods to be shorter and more consistent.
- Extract methods from execute_supervised_task_for_all_guards for less complexity.
- Added more specs for extracted methods.
- Added more docs on how marking of deleted/moved files works.
- Refactor Guard to be unaware of the :watch_all_modifications options for simplicity.
2011-09-28 12:42:09 +02:00
Rémy Coutable
41ada16595 Allow more complex conditions when searching for guards 2011-09-23 00:39:27 +02:00
Rémy Coutable
12fcf15a95 New smart accessors for guards and groups 2011-09-23 00:21:30 +02:00
Rémy Coutable
078d55f13c Actually halt guards' execution in a group only when the guard's task throw :task_has_failed (not when it returns false). 2011-09-16 01:20:22 +02:00
Rémy Coutable
b1b69924a7 First implementation of #97 "Guard dependencies". 2011-09-16 01:01:58 +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
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
38067f447f Add some specs for Guard.start (just to ensure core methods are well called…) 2011-07-29 00:23:20 +02:00
yuuki arisawa
8d02eec38c Add support not to change files when dry run. 2011-07-02 19:16:06 +09: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
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
Rémy Coutable
72734e1587 Fixed a bug preventing from using "guard :test" in Guardfile! 2011-05-27 17:56:46 +02:00
John Bintz
310bc5b644 support for dashes in guard names 2011-05-23 19:07:12 -04: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
Thibaud Guillaume-Gentil
f424854e61 Refactorized notifier enabling/disabling 2011-05-10 21:22:25 +02:00
Thibaud Guillaume-Gentil
1e5ab84b3a Fixed Guard::Notifier (when growl/libnotify not present) 2011-05-08 21:56:46 +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
5740548a51 Kept support of Rubygems < 1.8.0 (for now!) 2011-05-06 21:51:50 +02:00
Thibaud Guillaume-Gentil
2da724f5e9 Fixed Rubygems deprecation messages 2011-05-06 21:23:30 +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
Jeff Sacks
38c371272d fixing require bug; updating documentation and version 2011-04-25 09:18:59 -05:00
Jeff Sacks
a0b6ecacdb adding support for inline classes 2011-04-21 16:39:46 -05: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
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
Thibaud Guillaume-Gentil
59f555e086 Switched to gem which command to locate gem path rather than open-gem 2011-02-22 15:15:09 +01:00
koshigoe
36e11c3820 fixed problem: Guard.get_guard_class return wrong class when loaded nested class.
The problem cause when using guard-ego with guard-spork.
2011-02-19 03:53:05 +09: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
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
e2247ea732 Improving, cleaning & making clear Guard class' specs 2010-11-03 23:31:00 +01:00
Thibaud Guillaume-Gentil
9c15536eda Little "refactoring" 2010-10-28 08:47:26 +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
Yann Lugrin
3cdcea3dfd locate_guard chomp newline at end of path 2010-10-24 04:30:07 +08:00
Thibaud Guillaume-Gentil
2191bc1088 Rescue Interrupt on run yield 2010-10-20 22:40:44 +02:00
Thibaud Guillaume-Gentil
ec87585472 guard init <guard-name> command no more need Gemfile presence but open_gem is required now
Closes #3.
2010-10-20 22:34:32 +02:00
Thibaud Guillaume-Gentil
c347c2c7e0 Added 1.8.6 compatibility
Closes #2.
2010-10-18 21:45:31 +02:00