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.

KNOWN_RUBIES.first

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.


236
237
238
# File 'lib/rubocop/target_ruby.rb', line 236

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.


221
222
223
# File 'lib/rubocop/target_ruby.rb', line 221

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.


252
253
254
255
256
257
258
# File 'lib/rubocop/target_ruby.rb', line 252

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.


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

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)

248
249
250
# File 'lib/rubocop/target_ruby.rb', line 248

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.


244
245
246
# File 'lib/rubocop/target_ruby.rb', line 244

def version
  source.version
end