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.



254
255
256
# File 'lib/rubocop/target_ruby.rb', line 254

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.



240
241
242
# File 'lib/rubocop/target_ruby.rb', line 240

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.



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

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.



258
259
260
# File 'lib/rubocop/target_ruby.rb', line 258

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)


266
267
268
# File 'lib/rubocop/target_ruby.rb', line 266

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.



262
263
264
# File 'lib/rubocop/target_ruby.rb', line 262

def version
  source.version
end