aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/rubocops
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/rubocops')
-rw-r--r--Library/Homebrew/rubocops/checksum_cop.rb55
-rw-r--r--Library/Homebrew/rubocops/extend/formula_cop.rb11
2 files changed, 3 insertions, 63 deletions
diff --git a/Library/Homebrew/rubocops/checksum_cop.rb b/Library/Homebrew/rubocops/checksum_cop.rb
deleted file mode 100644
index 98e6a8bd3..000000000
--- a/Library/Homebrew/rubocops/checksum_cop.rb
+++ /dev/null
@@ -1,55 +0,0 @@
-require_relative "./extend/formula_cop"
-
-module RuboCop
- module Cop
- module FormulaAudit
- class Checksum < FormulaCop
- def audit_formula(_node, _class_node, _parent_class_node, body_node)
- %w[Stable Devel HEAD].each do |name|
- next unless spec_node = find_block(body_node, name.downcase.to_sym)
- _, _, spec_body = *spec_node
- audit_checksums(spec_body, name)
- resource_blocks = find_all_blocks(spec_body, :resource)
- resource_blocks.each do |rb|
- _, _, resource_body = *rb
- audit_checksums(resource_body, name, string_content(parameters(rb).first))
- end
- end
- end
-
- def audit_checksums(node, spec, resource_name = nil)
- msg_prefix = if resource_name
- "#{spec} resource \"#{resource_name}\": "
- else
- "#{spec}: "
- end
- if find_node_method_by_name(node, :md5)
- problem "#{msg_prefix}MD5 checksums are deprecated, please use SHA256"
- end
-
- if find_node_method_by_name(node, :sha1)
- problem "#{msg_prefix}SHA1 checksums are deprecated, please use SHA256"
- end
-
- checksum_node = find_node_method_by_name(node, :sha256)
- checksum = parameters(checksum_node).first
- if string_content(checksum).size.zero?
- problem "#{msg_prefix}sha256 is empty"
- return
- end
-
- if string_content(checksum).size != 64 && regex_match_group(checksum, /^\w*$/)
- problem "#{msg_prefix}sha256 should be 64 characters"
- end
-
- unless regex_match_group(checksum, /^[a-f0-9]+$/i)
- problem "#{msg_prefix}sha256 contains invalid characters"
- end
-
- return unless regex_match_group(checksum, /^[a-f0-9]+$/)
- problem "#{msg_prefix}sha256 should be lowercase"
- end
- end
- end
- end
-end
diff --git a/Library/Homebrew/rubocops/extend/formula_cop.rb b/Library/Homebrew/rubocops/extend/formula_cop.rb
index b6fa45d3f..75a3e72d5 100644
--- a/Library/Homebrew/rubocops/extend/formula_cop.rb
+++ b/Library/Homebrew/rubocops/extend/formula_cop.rb
@@ -167,18 +167,12 @@ module RuboCop
nil
end
- # Returns an array of block nodes of depth first order named block_name below node
+ # Returns an array of block nodes named block_name inside node
def find_blocks(node, block_name)
return if node.nil?
node.each_child_node(:block).select { |block_node| block_name == block_node.method_name }
end
- # Returns an array of block nodes of any depth below node in AST
- def find_all_blocks(node, block_name)
- return if node.nil?
- node.each_descendant(:block).select { |block_node| block_name == block_node.method_name }
- end
-
# Returns a method definition node with method_name
def find_method_def(node, method_name)
return if node.nil?
@@ -256,7 +250,8 @@ module RuboCop
# Returns the array of arguments of the method_node
def parameters(method_node)
- method_node.method_args if method_node.send_type? || method_node.block_type?
+ return unless method_node.send_type?
+ method_node.method_args
end
# Returns true if the given parameters are present in method call