summaryrefslogtreecommitdiff
path: root/lib/gitlab/multi_collection_paginator.rb
Commit message (Collapse)AuthorAgeFilesLines
* Enable frozen string for lib/gitlab/*.rbgfyoung2018-10-221-0/+2
|
* Disable existing offenses for the CodeReuse copsYorick Peterse2018-09-111-0/+2
| | | | | This whitelists all existing offenses for the various CodeReuse cops, of which most are triggered by the CodeReuse/ActiveRecord cop.
* [Rails5] Fix `per_page` in lib/gitlab/multi_collection_paginator.rb46233-rails5-fix-nomethoderror-undefined-method-for-3-stringblackst0ne2018-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Rails 5 the `per_page` argument came from `params` is String but an Integer is expected. This commit explicitly converts `per_page` to an Integer. It fixes the errors like: ``` 1) Groups::ChildrenController GET #index for subgroups filtering children succeeds if multiple pages contain matching subgroups Failure/Error: hash[page] = second_collection.page(second_collection_page) .per(per_page - paginated_first_collection(page).size) .padding(offset) NoMethodError: undefined method `-' for "3":String Did you mean? -@ # ./lib/gitlab/multi_collection_paginator.rb:42:in `block in paginated_second_collection' # ./lib/gitlab/multi_collection_paginator.rb:46:in `paginated_second_collection' # ./lib/gitlab/multi_collection_paginator.rb:14:in `paginate' # ./app/finders/group_descendants_finder.rb:52:in `children' # ./app/finders/group_descendants_finder.rb:34:in `execute' # ./app/controllers/groups/children_controller.rb:36:in `setup_children' # ./app/controllers/groups/children_controller.rb:18:in `index' # ./lib/gitlab/i18n.rb:50:in `with_locale' # ./lib/gitlab/i18n.rb:56:in `with_user_locale' # ./app/controllers/application_controller.rb:351:in `set_locale' # ./spec/controllers/groups/children_controller_spec.rb:182:in `block (5 levels) in <top (required)>' # ./spec/spec_helper.rb:198:in `block (2 levels) in <top (required)>' ```
* Adds Rubocop rule for line break around conditionals🙈 jacopo beschi 🙉2018-01-111-0/+1
|
* Remove the selects when counting the last pageBob Van Landuyt2017-11-171-1/+3
| | | | | | | | | | | The last page of the first collection is only loaded into memory when it is being viewed. If it isn't loaded into memory, the `#size` call triggers a count query. This `#count` would generate an invalid query if our custom preloaded counts are included by adding a separate `as count_column` alias on top of the count aliases. Removing the selects in this case will make sure a valid `COUNT(*)` is generated.
* Optimize queries and pagination in `GroupDescendantsFinder`Bob Van Landuyt2017-10-051-0/+61