summaryrefslogtreecommitdiff
path: root/lib/gitlab/patch
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/patch')
-rw-r--r--lib/gitlab/patch/action_dispatch_journey_formatter.rb34
-rw-r--r--lib/gitlab/patch/global_id.rb25
-rw-r--r--lib/gitlab/patch/hangouts_chat_http_override.rb21
3 files changed, 46 insertions, 34 deletions
diff --git a/lib/gitlab/patch/action_dispatch_journey_formatter.rb b/lib/gitlab/patch/action_dispatch_journey_formatter.rb
deleted file mode 100644
index 2d3b7bb9923..00000000000
--- a/lib/gitlab/patch/action_dispatch_journey_formatter.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-# frozen_string_literal: true
-
-module Gitlab
- module Patch
- module ActionDispatchJourneyFormatter
- def self.prepended(mod)
- mod.alias_method(:old_missing_keys, :missing_keys)
- mod.remove_method(:missing_keys)
- end
-
- private
-
- def missing_keys(route, parts)
- missing_keys = nil
- tests = route.path.requirements_for_missing_keys_check
- route.required_parts.each do |key|
- case tests[key]
- when nil
- unless parts[key]
- missing_keys ||= []
- missing_keys << key
- end
- else
- unless tests[key].match?(parts[key])
- missing_keys ||= []
- missing_keys << key
- end
- end
- end
- missing_keys
- end
- end
- end
-end
diff --git a/lib/gitlab/patch/global_id.rb b/lib/gitlab/patch/global_id.rb
new file mode 100644
index 00000000000..e99f36c7dca
--- /dev/null
+++ b/lib/gitlab/patch/global_id.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+# To support GlobalID arguments that present a model with its old "deprecated" name
+# we alter GlobalID so it will correctly find the record with its new model name.
+module Gitlab
+ module Patch
+ module GlobalID
+ def initialize(gid, options = {})
+ super
+
+ if deprecation = Gitlab::GlobalId::Deprecations.deprecation_for(model_name)
+ @new_model_name = deprecation.new_model_name
+ end
+ end
+
+ def model_name
+ new_model_name || super
+ end
+
+ private
+
+ attr_reader :new_model_name
+ end
+ end
+end
diff --git a/lib/gitlab/patch/hangouts_chat_http_override.rb b/lib/gitlab/patch/hangouts_chat_http_override.rb
new file mode 100644
index 00000000000..20dc678e251
--- /dev/null
+++ b/lib/gitlab/patch/hangouts_chat_http_override.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module Patch
+ module HangoutsChatHTTPOverride
+ attr_reader :uri
+
+ # See https://github.com/enzinia/hangouts-chat/blob/6a509f61a56e757f8f417578b393b94423831ff7/lib/hangouts_chat/http.rb
+ def post(payload)
+ httparty_response = Gitlab::HTTP.post(
+ uri,
+ body: payload.to_json,
+ headers: { 'Content-Type' => 'application/json' },
+ parse: nil # Disables automatic response parsing
+ )
+ httparty_response.response
+ # The rest of the integration expects a Net::HTTP response
+ end
+ end
+ end
+end