aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/rubocops/extend/formula_cop.rb
diff options
context:
space:
mode:
authorGautham Goli2017-12-02 17:03:11 +0530
committerGautham Goli2017-12-02 17:03:11 +0530
commitfb85ed01bc170e389dd62a2a2872d962b7dad5a6 (patch)
tree33820c346a9f913507c8ceab4fefcbdd3a35ae70 /Library/Homebrew/rubocops/extend/formula_cop.rb
parent1b289226284d87c846825563624661ced315b11a (diff)
downloadbrew-fb85ed01bc170e389dd62a2a2872d962b7dad5a6.tar.bz2
lines_cop: Convert ARGV audit to negative look ahead
Diffstat (limited to 'Library/Homebrew/rubocops/extend/formula_cop.rb')
-rw-r--r--Library/Homebrew/rubocops/extend/formula_cop.rb16
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)