Module: RuboCop::Cop::TargetRailsVersion

Overview

Common functionality for checking target rails version.

Constant Summary collapse

USES_REQUIRES_GEM_API =

Informs the base RuboCop gem that it the Rails version is checked via ‘requires_gem` API, without needing to call this `#support_target_rails_version` method.

true
TARGET_GEM_NAME =

Look for ‘railties` instead of `rails`, to support apps that only use a subset of `rails` See github.com/rubocop/rubocop/pull/11289

'railties'

Instance Method Summary collapse

Instance Method Details

#minimum_target_rails_version(version) ⇒ Object

:nodoc:



14
15
16
17
18
19
# File 'lib/rubocop/cop/mixin/target_rails_version.rb', line 14

def minimum_target_rails_version(version)
  case version
  when Integer, Float then requires_gem(TARGET_GEM_NAME, ">= #{version}")
  when String then requires_gem(TARGET_GEM_NAME, version)
  end
end

#support_target_rails_version?(version) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
28
# File 'lib/rubocop/cop/mixin/target_rails_version.rb', line 21

def support_target_rails_version?(version)
  return false unless gem_requirements

  gem_requirement = gem_requirements[TARGET_GEM_NAME]
  return true unless gem_requirement # If we have no requirement, then we support all versions

  gem_requirement.satisfied_by?(Gem::Version.new(version))
end