Class: CustomCops::VersionComparison
- Inherits:
-
RuboCop::Cop::Base
- Object
- RuboCop::Cop::Base
- CustomCops::VersionComparison
- Extended by:
- RuboCop::Cop::AutoCorrector
- Defined in:
- lib/simplycop/custom_cops/version_comparison.rb
Overview
Detects incorrect semantic version comparisons. Triggers on variables/methods containing ‘version’.
If this cop flags a false positive, disable it with an inline rubocop comment.
Constant Summary collapse
- DISABLE_HINT =
'Disable if not a semantic version string.'- MSG_TO_F =
"Avoid `.to_f` on version strings; use `Gem::Version.new()`. #{DISABLE_HINT}"- MSG_TO_I =
"Avoid `.to_i` on version strings; use `Gem::Version.new()`. #{DISABLE_HINT}"- MSG_STRING =
"Avoid ordering operators on version strings; use `Gem::Version.new()`. #{DISABLE_HINT}"- ORDERING_OPERATORS =
[:>=, :>, :<=, :<].freeze
- REVERSED_OPERATORS =
{ :>= => :<=, :> => :<, :<= => :>=, :< => :> }.freeze
Instance Method Summary collapse
Instance Method Details
#on_send(node) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/simplycop/custom_cops/version_comparison.rb', line 30 def on_send(node) check_numeric_conversion(node, :to_f_call?, MSG_TO_F) check_numeric_conversion(node, :to_i_call?, MSG_TO_I) check_ordering_comparison(node) check_reversed_ordering_comparison(node) end |