summaryrefslogtreecommitdiff
path: root/rubocop
Commit message (Collapse)AuthorAgeFilesLines
* Add a new RSpec::EnvAssignment cop to prevent assigning to ENV in specs18765-stub_env_in_specsRémy Coutable2017-10-183-5/+76
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Also warn on timestamp in datetime migration copfix-timestampz-copSean McGivern2017-10-101-7/+13
| | | | | The types `timestamp` and `datetime` are aliases: https://github.com/rails/rails/blob/v4.2.10/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb#L362-L364
* Replaces `tag: true` into `:tag` in the specsJacopo2017-10-072-0/+75
| | | | | | Replaces all the explicit include metadata syntax in the specs (tag: true) into the implicit one (:tag). Added a cop to prevent future errors and handle autocorrection.
* Add SaferBooleanColumn copMichael Kozono2017-08-142-0/+95
|
* inifix/sm/forbid-to-use-add_column_with_default-on-ci_pipelines-by-rubocopShinya Maeda2017-08-011-0/+1
|
* Update the large table list in AddColumnWithDefaultToLargeTable copRobert Speicher2017-07-261-0/+3
| | | | | | - ci_builds -- 33 million rows, 55 GB - merge_request_diff_files -- 5 million rows, 9 GB (and growing rapidly) - merge_request_diffs -- 5 million rows, 190 GB
* Added cop to blacklist the use of hash indexesrubocop-hash-indexYorick Peterse2017-07-142-0/+52
| | | | | | These indexes are not recorded in the WAL (at least until PostgreSQL 10) and this isn't worth the minor performance improvement over btree indexes.
* Added EachBatch for iterating tables in batchesactive-record-each-batchYorick Peterse2017-07-072-0/+17
| | | | | | | This module provides a class method called `each_batch` that can be used to iterate tables in batches in a more efficient way compared to Rails' `in_batches` method. This commit also includes a RuboCop cop to blacklist the use of `in_batches` in favour of this new method.
* Rename ActiverecordSerialize copYorick Peterse2017-07-062-2/+2
| | | | | This cop has been renamed to ActiveRecordSerialize to match the way "ActiveRecord" is usually written.
* Added Cop to blacklist the use of `dependent:`Yorick Peterse2017-07-062-0/+27
| | | | | | | | This is allowed for existing instances so we don't end up 76 offenses right away, but for new code one should _only_ use this if they _have_ to remove non database data. Even then it's usually better to do this in a service class as this gives you more control over how to remove the data (e.g. in bulk).
* Add ProjectPathHelper copDouwe Maan2017-07-052-0/+52
|
* Require rubocop-rspec in the correct locationrs-fix-codeclimate-buildRobert Speicher2017-06-141-1/+3
| | | | Resolves the `codeclimate` CI failure
* Add a custom RSpec/SingleLineHook copRobert Speicher2017-06-142-0/+37
| | | | | This cop adds an offense when `before`, `after`, or `around` are used as single-line blocks.
* Add database helpers 'add_timestamps_with_timezone' and ↵32054-rails-should-use-timestamptz-database-type-for-postgresqlblackst0ne2017-06-134-0/+91
| | | | 'timestamps_with_timezone'
* Added Cop to blacklist polymorphic associationsYorick Peterse2017-06-074-11/+40
| | | | | | | | One should really use a separate table instead of using polymorphic associations. See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11168 for more information.
* Add a rubocop rule to check if a method 'redirect_to' is used without ↵31840-add-a-rubocop-that-forbids-redirect_to-inside-a-controller-destroy-action-without-an-explicit-statusblackst0ne2017-06-072-0/+45
| | | | explicitly set 'status' in 'destroy' actions of controllers
* Added Cop to blacklist the use of serializedocument-not-using-serializeYorick Peterse2017-05-312-0/+25
| | | | | This Cop blacklists the use of ActiveRecord's "serialize" method, except for cases where we already use this.
* New Migration/UpdateColumnInBatches copRémy Coutable2017-05-293-2/+47
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Add AddColumnWithDefaultToLargeTable copRobert Speicher2017-04-282-0/+52
|
* Rename AddColumnWithDefault to ReversibleAddColumnWithDefaultRobert Speicher2017-04-282-2/+2
| | | | | We're going to add another cop that deals with another aspect of `add_column_with_default`, so we need to separate them.
* Refactor the AddColumnWithDefault cop to use node matchersRobert Speicher2017-04-281-9/+10
|
* Add remove_concurrent_index to database helperblackst0ne2017-04-064-1/+58
|
* Add cop to ensure reversibility of add_concurrent_indexDouwe Maan2017-03-072-0/+35
|
* Enable and autocorrect the CustomErrorClass copSean McGivern2017-03-011-0/+1
|
* Add RuboCop cop for custom error classesSean McGivern2017-03-011-0/+64
| | | | | | | | | | | | | | | | | | From the Ruby style guide: # bad class FooError < StandardError end # okish class FooError < StandardError; end # good FooError = Class.new(StandardError) This cop does that, but only for error classes (classes where the superclass ends in 'Error'). We have empty controllers and models, which are perfectly valid empty classes.
* Revert "Enable Style/DotPosition"Douwe Maan2017-02-231-6/+6
| | | | | | | | | | | | | | | This reverts commit e00fb2bdc2090e9cabeb1eb35a2672a882cc96e9. # Conflicts: # .rubocop.yml # .rubocop_todo.yml # lib/gitlab/ci/config/entry/global.rb # lib/gitlab/ci/config/entry/jobs.rb # spec/lib/gitlab/ci/config/entry/factory_spec.rb # spec/lib/gitlab/ci/config/entry/global_spec.rb # spec/lib/gitlab/ci/config/entry/job_spec.rb # spec/lib/gitlab/ci/status/build/factory_spec.rb # spec/lib/gitlab/incoming_email_spec.rb
* Revert "Prefer leading style for Style/DotPosition"Douwe Maan2017-02-232-8/+8
| | | | This reverts commit cb10b725c8929b8b4460f89c9d96c773af39ba6b.
* Prefer leading style for Style/DotPositionDouwe Maan2017-02-232-8/+8
|
* Enable Style/MutableConstantDouwe Maan2017-02-235-7/+7
|
* Enable Style/DotPositionDouwe Maan2017-02-231-6/+6
|
* Enforce use of add_concurrent_foreign_keyconcurrent-foreign-keysYorick Peterse2017-02-102-0/+28
| | | | | | | This adds a Rubocop rule to enforce the use of add_concurrent_foreign_key instead of the regular add_foreign_key method. This cop has been disabled for existing migrations so we don't need to change those.
* Add a spec for our custom GemFetcher coprs-gemfetcher-cop-specRobert Speicher2017-02-092-9/+18
|
* Explicitly require rubocop migration_helpersdm-add-column-with-default-copDouwe Maan2017-02-083-1/+4
|
* Add cop that checks if add_column_with_default is used with up/down methodsDouwe Maan2017-02-084-5/+40
|
* cop for gem fetched from a git sourceAdam Pahlevi2017-01-312-0/+29
| | | | | | code fix for aesthetic & conventions remove unused proc
* Added RuboCop cops for checking DB migrationsmigration-copsYorick Peterse2016-06-294-0/+109
There are currently two cops for this: * Migration/AddIndex: checks if indexes are added concurrently * Migration/ColumnWithDefault: checks if columns with default values are added in a concurrent manner Both cops are fairly simple and make no attempt at correcting the code as this is quite hard to do (e.g. modifications may need to be applied in various places in the same file). They however should provide enough to catch people ignoring the comments in generated migrations telling them to use add_concurrent_index or add_column_with_default.