Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Fail your build for user-defined style rules.
require 'spec/support/grep_matcher'
describe do
disallow_presence_of pattern: "send(.*#",
location: "app/",
description: "Do not use dynamic method invocations",
failure: "Please change dynamic method call to something more sane."
end
# Soon to be open sourced as a gem
module Reverb
module RSpec
module GrepMatcher
module ClassMethods
def disallow_presence_of(description:nil, pattern:nil, location:nil, failure:nil)
it(description) do
results = `grep -rn '#{pattern}' #{location}`
results.should eq(""), failure
end
end
end
end
end
end
RSpec::Core::ExampleGroup.extend(Reverb::RSpec::GrepMatcher::ClassMethods)
@ClayShentrup

This comment has been minimized.

Copy link

commented Dec 7, 2013

<3

@vassilevsky

This comment has been minimized.

Copy link

commented Dec 20, 2013

You can make these tests faster with https://github.com/ggreer/the_silver_searcher

@mezis

This comment has been minimized.

Copy link

commented Dec 20, 2013

Or, simply, git grep.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.