Class: RuboCop::TargetRuby Private

Inherits:
Object
  • Object
show all
Defined in:
lib/rubocop/target_ruby.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

The kind of Ruby that code inspected by RuboCop is written in.

Defined Under Namespace

Classes: BundlerLockFile, Default, GemspecFile, RuboCopConfig, RubyVersionFile, Source, ToolVersionsFile

Constant Summary collapse

DEFAULT_VERSION =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

2.7

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ TargetRuby

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of TargetRuby.



252
253
254
# File 'lib/rubocop/target_ruby.rb', line 252

def initialize(config)
  @config = config
end

Class Method Details

.supported_versionsObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



238
239
240
# File 'lib/rubocop/target_ruby.rb', line 238

def self.supported_versions
  KNOWN_RUBIES
end

Instance Method Details

#rubocop_version_with_supportObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



268
269
270
271
272
273
274
# File 'lib/rubocop/target_ruby.rb', line 268

def rubocop_version_with_support
  if supported?
    RuboCop::Version.version
  else
    OBSOLETE_RUBIES[version]
  end
end

#sourceObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



256
257
258
# File 'lib/rubocop/target_ruby.rb', line 256

def source
  @source ||= SOURCES.each.lazy.map { |c| c.new(@config) }.detect(&:version)
end

#supported?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


264
265
266
# File 'lib/rubocop/target_ruby.rb', line 264

def supported?
  KNOWN_RUBIES.include?(version)
end

#versionObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



260
261
262
# File 'lib/rubocop/target_ruby.rb', line 260

def version
  source.version
end