This PR fixes false positives for Performance/BigDecimalWithNumericArgument when using BigDecimal 3.1+.
The bad and good examples for this cop are reversed between BigDecimal 3.0 and 3.1.
Since BigDecimal 3.1 is the default gem in Ruby 3.1, this PR reverses the bad and good examples when targeting Ruby 3.1+. So, the goal of this PR is to address many cases where the meaning was entirely reversed.
To avoid introducing excessive complexity related to version dependencies, detection is disabled for Ruby 3.0 and below.
Ideally, a solution that prioritizes the BigDecimal version would be best in the future, but this PR does not take that into account.
Before submitting the PR make sure the following are checked:
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
Fixes #454.
This PR fixes false positives for
Performance/BigDecimalWithNumericArgument
when using BigDecimal 3.1+.The bad and good examples for this cop are reversed between BigDecimal 3.0 and 3.1.
Since BigDecimal 3.1 is the default gem in Ruby 3.1, this PR reverses the bad and good examples when targeting Ruby 3.1+. So, the goal of this PR is to address many cases where the meaning was entirely reversed.
To avoid introducing excessive complexity related to version dependencies, detection is disabled for Ruby 3.0 and below.
Ideally, a solution that prioritizes the BigDecimal version would be best in the future, but this PR does not take that into account.
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
(if the related issue exists).master
(if not - rebase it).bundle exec rake default
. It executes all tests and runs RuboCop on its own code.{change_type}_{change_description}.md
if the new code introduces user-observable changes. See changelog entry format for details.