Guardfile
# A sample Guardfile
# More info at https://github.com/guard/guard#readme
## Uncomment and set this to only include directories you want to watch
# directories %(app lib config test spec feature)
## Uncomment to clear the screen before every task
# clearing :on
# Note: The cmd option is now required due to the increasing number of ways
# rspec may be run, below are examples of the most common uses.
# * bundler: 'bundle exec rspec'
# * bundler binstubs: 'bin/rspec'
# * spring: 'bin/rspec' (This will use spring if running and you have
# installed the spring binstubs per the docs)
# * zeus: 'zeus rspec' (requires the server to be started separately)
# * 'just' rspec: 'rspec'
group :happy_code, halt_on_fail: true do
guard :rspec, cmd: "bundle exec rspec" do
require "ostruct"
rspec = OpenStruct.new
rspec.spec = ->(m) { "spec/#{m}_spec.rb" }
rspec.spec_dir = "spec"
rspec.spec_helper = "spec/helper.rb"
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| rspec.spec.(m[1]) }
watch(rspec.spec_helper) { rspec.spec_dir }
end
guard :rubocop, all_on_start: false, cmd: "rubocop --require rubocop-rspec" do
watch(%r{.+\.rb$})
watch(%r{.+\.gemspec$})
watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
end
end