class RuboCop::Cop::Gemspec::RubyVersionGlobalsUsage


end
spec.add_dependency ‘gem_a’
Gem::Specification.new do |spec|
# good
end
end
spec.add_dependency ‘gem_b’
else
spec.add_dependency ‘gem_a’
if RUBY_VERSION >= ‘3.0’
Gem::Specification.new do |spec|
# bad
@example
to execute ‘rake release` and not user’s ruby version.
It’s possible to have dependency based on ruby version used
constant is determined by ‘rake release`.
Using `RUBY_VERSION` is dangerous because value of the
Checks that `RUBY_VERSION` constant is not used in gemspec.

def gem_spec_with_ruby_version?(node)

def gem_spec_with_ruby_version?(node)
  gem_specification(processed_source.ast) && ruby_version?(node)
end

def on_const(node)

def on_const(node)
  return unless gem_spec_with_ruby_version?(node)
  add_offense(node)
end