module RuboCop::Cop::Sorbet::TargetSorbetVersion
def enabled_for_sorbet_static_version?
def enabled_for_sorbet_static_version? sorbet_static_version = target_sorbet_static_version_from_bundler_lock_file return false unless sorbet_static_version self.class.supports_target_sorbet_static_version?(sorbet_static_version) end
def included(target)
def included(target) target.extend(ClassMethods) end
def read_sorbet_static_version_from_bundler_lock_file
def read_sorbet_static_version_from_bundler_lock_file require "bundler" ::Bundler.locked_gems.specs.find { |spec| spec.name == "sorbet-static" }&.version rescue LoadError, ::Bundler::GemfileNotFound nil end
def sorbet_enabled?
def sorbet_enabled? !target_sorbet_static_version_from_bundler_lock_file.nil? end
def target_sorbet_static_version_from_bundler_lock_file
def target_sorbet_static_version_from_bundler_lock_file # Do memoization with the `defined?` pattern since sorbet-static version might be `nil` if defined?(@target_sorbet_static_version_from_bundler_lock_file) @target_sorbet_static_version_from_bundler_lock_file else @target_sorbet_static_version_from_bundler_lock_file = read_sorbet_static_version_from_bundler_lock_file end end