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

@ClayShentrup ClayShentrup commented Dec 7, 2013

<3

@vassilevsky

This comment has been minimized.

Copy link

@vassilevsky vassilevsky 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

@mezis mezis 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