2010-10-03 21:00:33 +00:00
|
|
|
module Guard
|
|
|
|
class Dsl
|
|
|
|
|
|
|
|
def self.evaluate_guardfile
|
|
|
|
guardfile = "#{Dir.pwd}/Guardfile"
|
2010-11-25 23:58:36 +00:00
|
|
|
if File.exists?(guardfile)
|
2010-10-30 16:26:09 +00:00
|
|
|
begin
|
2010-12-16 14:08:26 +00:00
|
|
|
new.instance_eval(File.read(guardfile.to_s), guardfile.to_s, 1)
|
2010-10-30 16:26:09 +00:00
|
|
|
rescue
|
|
|
|
UI.error "Invalid Guardfile, original error is:\n#{$!}"
|
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
else
|
|
|
|
UI.error "No Guardfile in current folder, please create one."
|
|
|
|
exit 1
|
|
|
|
end
|
2010-10-03 21:00:33 +00:00
|
|
|
end
|
|
|
|
|
2010-10-07 20:37:30 +00:00
|
|
|
def self.guardfile_included?(guard_name)
|
|
|
|
File.read('Guardfile').include?("guard '#{guard_name}'")
|
|
|
|
end
|
|
|
|
|
2010-10-03 21:00:33 +00:00
|
|
|
def guard(name, options = {}, &definition)
|
|
|
|
@watchers = []
|
2010-10-07 20:37:30 +00:00
|
|
|
definition.call if definition
|
|
|
|
::Guard.add_guard(name, @watchers, options)
|
2010-10-03 21:00:33 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def watch(pattern, &action)
|
2010-10-07 20:37:30 +00:00
|
|
|
@watchers << ::Guard::Watcher.new(pattern, action)
|
2010-10-03 21:00:33 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|