diff options
author | Reuben Pereira <rpereira@gitlab.com> | 2019-03-01 14:51:54 +0000 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2019-03-01 14:51:54 +0000 |
commit | 43e713eb41117138c13ee4b9279321ca4331a302 (patch) | |
tree | 1f2047b2ba5279fdad38b0da18db32ba350311d8 /app/services/projects/operations | |
parent | 4471ab81c8484d9942183bd8114a757b8630b8ec (diff) | |
download | gitlab-ce-43e713eb41117138c13ee4b9279321ca4331a302.tar.gz |
Refactor model and spec
- Move some specs into contexts
- Let get_slugs method take a parameter and return a specific slug.
- Add rescues when using Addressable::URI.
Diffstat (limited to 'app/services/projects/operations')
-rw-r--r-- | app/services/projects/operations/update_service.rb | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/app/services/projects/operations/update_service.rb b/app/services/projects/operations/update_service.rb index abd6d8de750..aedf79c86d7 100644 --- a/app/services/projects/operations/update_service.rb +++ b/app/services/projects/operations/update_service.rb @@ -12,7 +12,28 @@ module Projects private def project_update_params - params.slice(:error_tracking_setting_attributes) + error_tracking_params + end + + def error_tracking_params + settings = params[:error_tracking_setting_attributes] + return {} if settings.blank? + + api_url = ErrorTracking::ProjectErrorTrackingSetting.build_api_url_from( + api_host: settings[:api_host], + project_slug: settings.dig(:project, :slug), + organization_slug: settings.dig(:project, :organization_slug) + ) + + { + error_tracking_setting_attributes: { + api_url: api_url, + token: settings[:token], + enabled: settings[:enabled], + project_name: settings.dig(:project, :name), + organization_name: settings.dig(:project, :organization_name) + } + } end end end |