Add new Gemspec/DuplicatedAssignment
cop
#5087
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Feature
An attribute assignment method calls should be listed only once in a gemspec.
Assigning to an attribute with the same name using
spec.foo =
will be an unintended usage. On the other hand, duplication of methods such asspec.requirements
,spec.add_runtime_dependency
and others are permitted because it is the intended use of appending values.Bad case
Good case
How to use
The implementation approach is based on
Bundler/DuplicatedGem
.https://github.com/bbatsov/rubocop/blob/v0.51.0/lib/rubocop/cop/bundler/duplicated_gem.rb
Other Information
RubyGems Specification Reference
http://guides.rubygems.org/specification-reference/
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
(if the related issue exists).master
(if not - rebase it).rake spec
) are passing.rake internal_investigation
.and description in grammatically correct, complete sentences.
rake generate_cops_documentation
(required only when you've added a new cop or changed the configuration/documentation of an existing cop).