diff options
| author | Gautham Goli | 2017-12-02 17:03:11 +0530 |
|---|---|---|
| committer | Gautham Goli | 2017-12-02 17:03:11 +0530 |
| commit | fb85ed01bc170e389dd62a2a2872d962b7dad5a6 (patch) | |
| tree | 33820c346a9f913507c8ceab4fefcbdd3a35ae70 /Library/Homebrew/rubocops/extend | |
| parent | 1b289226284d87c846825563624661ced315b11a (diff) | |
| download | brew-fb85ed01bc170e389dd62a2a2872d962b7dad5a6.tar.bz2 | |
lines_cop: Convert ARGV audit to negative look ahead
Diffstat (limited to 'Library/Homebrew/rubocops/extend')
| -rw-r--r-- | Library/Homebrew/rubocops/extend/formula_cop.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Library/Homebrew/rubocops/extend/formula_cop.rb b/Library/Homebrew/rubocops/extend/formula_cop.rb index 1e7160bbd..9d16db36d 100644 --- a/Library/Homebrew/rubocops/extend/formula_cop.rb +++ b/Library/Homebrew/rubocops/extend/formula_cop.rb @@ -127,6 +127,22 @@ module RuboCop end end + # Matches receiver part of method, + # EX: to match `ARGV.<whatever>()` + # call `find_instance_call(node, "ARGV")` + # yields to a block with parent node of receiver + def find_instance_call(node, name) + node.each_descendant(:send) do |method_node| + next if method_node.receiver.nil? + next if method_node.receiver.const_name != name && + method_node.receiver.method_name != name + @offense_source_range = method_node.receiver.source_range + @offensive_node = method_node.receiver + return true unless block_given? + yield method_node + end + end + # Returns nil if does not depend on dependency_name # args: node - dependency_name - dependency's name def depends_on?(dependency_name, *types) |
