master/lib/guard/dsl.rb

46 lines
1.1 KiB
Ruby
Raw Normal View History

2010-10-03 21:00:33 +00:00
module Guard
class Dsl
class << self
attr_accessor :options
def evaluate_guardfile(options = {})
self.options = options
guardfile = "#{Dir.pwd}/Guardfile"
if File.exists?(guardfile)
begin
new.instance_eval(File.read(guardfile.to_s), guardfile.to_s, 1)
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
end
def guardfile_included?(guard_name)
File.read('Guardfile').include?("guard '#{guard_name}'")
end
2010-10-03 21:00:33 +00:00
end
def group(name, &definition)
options = self.class.options
definition.call if definition && (options[:group].empty? || options[:group].include?(name))
2010-10-07 20:37:30 +00:00
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