78a3bba62e
code fix for aesthetic & conventions remove unused proc
28 lines
892 B
Ruby
28 lines
892 B
Ruby
module RuboCop
|
|
module Cop
|
|
# Cop that checks for all gems specified in the Gemfile, and will
|
|
# alert if any gem is to be fetched not from the RubyGems index.
|
|
# This enforcement is done so as to minimize external build
|
|
# dependencies and build times.
|
|
class GemFetcher < RuboCop::Cop::Cop
|
|
MSG = 'Do not use gems from git repositories, only use gems from RubyGems.'
|
|
|
|
GIT_KEYS = [:git, :github]
|
|
|
|
def on_send(node)
|
|
file_path = node.location.expression.source_buffer.name
|
|
return unless file_path.end_with?("Gemfile")
|
|
|
|
func_name = node.children[1]
|
|
return unless func_name == :gem
|
|
|
|
node.children.last.each_node(:pair) do |pair|
|
|
key_name = pair.children[0].children[0].to_sym
|
|
if GIT_KEYS.include?(key_name)
|
|
add_offense(node, :selector)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|