-
- Downloads
Upgrade to Grape v1.3.3
This brings back many of the changes in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27276. This was reverted due to some failures in the QA tests with nil parameters. Grape v1.3.3 brings in Ruby 2.7 support and a number of fixes: https://github.com/ruby-grape/grape/blob/master/CHANGELOG.md 1. Move all inherited `Grape::API` -> `Grape::API::Instance` 2. Remove use of Virtus since this has been removed from Grape. 3. Extract `Rack::Response` from API error 4. Grape v1.2.3 pulled in a fix used in `SafeFile`: https://github.com/ruby-grape/grape/pull/1844, so we no longer need to maintain our custom type. 5. Adapt `WorkhorseFile` with the latest changes to make custom types work with Grape and dry-types. 6. Ensure `Array[String]` is coerced properly. The change from Virtus to dry-types now requires all strings to be coerced to arrays. Before this was done within Virtus. 7. Coerce `Array[Integer]` types to arrays of integers 8. Use a new helper, `coerce_nil_params_to_array!`, that coerces nil Array inputs to empty arrays to preserve previous behavior. If you have a parameter of type `Array[String]`, for example, Grape used to coerce a provided `nil` value to `[]`. Grape no longer does this for us, so we need a helper method that will automatically do this if the parameter is present. This merge request also introduces two Rubocop rules for Grape v1.3: 1. `Grape::API::Instance` instead of `Grape::API` is required, unless we solve https://gitlab.com/gitlab-org/gitlab/-/issues/215230. 2. Grape parameters defined with `Array` types (e.g. `Array[String]`, `Array[Integer]`) must have a `coerce_with` block or they will fail to parse properly. See https://github.com/ruby-grape/grape/blob/master/UPGRADING.md for more details.
Showing
- .rubocop.yml 12 additions, 0 deletions.rubocop.yml
- Gemfile 2 additions, 2 deletionsGemfile
- Gemfile.lock 33 additions, 22 deletionsGemfile.lock
- changelogs/unreleased/sh-update-grape-gem.yml 5 additions, 0 deletionschangelogs/unreleased/sh-update-grape-gem.yml
- doc/development/api_styleguide.md 40 additions, 0 deletionsdoc/development/api_styleguide.md
- doc/development/ee_features.md 6 additions, 6 deletionsdoc/development/ee_features.md
- ee/lib/api/analytics/code_review_analytics.rb 2 additions, 2 deletionsee/lib/api/analytics/code_review_analytics.rb
- ee/lib/api/analytics/group_activity_analytics.rb 1 addition, 1 deletionee/lib/api/analytics/group_activity_analytics.rb
- ee/lib/api/audit_events.rb 1 addition, 1 deletionee/lib/api/audit_events.rb
- ee/lib/api/composer_packages.rb 1 addition, 1 deletionee/lib/api/composer_packages.rb
- ee/lib/api/conan_packages.rb 1 addition, 1 deletionee/lib/api/conan_packages.rb
- ee/lib/api/dependencies.rb 5 additions, 5 deletionsee/lib/api/dependencies.rb
- ee/lib/api/dependency_proxy.rb 1 addition, 1 deletionee/lib/api/dependency_proxy.rb
- ee/lib/api/elasticsearch_indexed_namespaces.rb 1 addition, 1 deletionee/lib/api/elasticsearch_indexed_namespaces.rb
- ee/lib/api/epic_issues.rb 1 addition, 1 deletionee/lib/api/epic_issues.rb
- ee/lib/api/epic_links.rb 1 addition, 1 deletionee/lib/api/epic_links.rb
- ee/lib/api/epics.rb 4 additions, 4 deletionsee/lib/api/epics.rb
- ee/lib/api/feature_flag_scopes.rb 1 addition, 1 deletionee/lib/api/feature_flag_scopes.rb
- ee/lib/api/feature_flags.rb 1 addition, 1 deletionee/lib/api/feature_flags.rb
- ee/lib/api/feature_flags_user_lists.rb 1 addition, 1 deletionee/lib/api/feature_flags_user_lists.rb
Loading
| Loading
| @@ -19,7 +19,7 @@ gem 'default_value_for', '~> 3.3.0' |
gem 'pg', '~> 1.1' | ||
gem 'rugged', '~> 0.28' | ||
gem 'grape-path-helpers', '~> 1.2' | ||
gem 'grape-path-helpers', '~> 1.3' | ||
gem 'faraday', '~> 0.12' | ||
gem 'marginalia', '~> 1.8.0' | ||
Loading
| Loading
| @@ -81,7 +81,7 @@ gem 'gitlab_omniauth-ldap', '~> 2.1.1', require: 'omniauth-ldap' |
gem 'net-ldap' | ||
# API | ||
gem 'grape', '~> 1.1.0' | ||
gem 'grape', '~> 1.3.3' | ||
gem 'grape-entity', '~> 0.7.1' | ||
gem 'rack-cors', '~> 1.0.6', require: 'rack/cors' | ||
Loading
| Loading
|
Please register or sign in to comment