summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2018-11-09 12:57:02 -0800
committerStan Hu <stanhu@gmail.com>2018-11-09 12:59:39 -0800
commit6a91b28932cd2dba735a57c06e4bea7334f89a69 (patch)
tree816b33ace6921ba2b9bd55d804a575f2263a7da1
parentd5027d774b2c26a2ee29b249b9919197ce499bff (diff)
downloadgitlab-ce-6a91b28932cd2dba735a57c06e4bea7334f89a69.tar.gz
Remove circular dependency on Redactable in migration
Gitlab::BackgroundMigration::RedactLinks was prepending EE::Gitlab::BackgroundMigration::RedactLinks, while EE::Gitlab::BackgroundMigration::RedactLinks was trying to include Gitlab::BackgroundMigration::RedactLinks::Redactable. Ruby 2.5.3 failed with an uninitialized constant (https://gitlab.com/gitlab-org/gitlab-ee/-/jobs/118388511).
-rw-r--r--lib/gitlab/background_migration/redact_links.rb23
-rw-r--r--lib/gitlab/background_migration/redact_links/redactable.rb21
2 files changed, 27 insertions, 17 deletions
diff --git a/lib/gitlab/background_migration/redact_links.rb b/lib/gitlab/background_migration/redact_links.rb
index f5d3bcdd517..92256e59a6c 100644
--- a/lib/gitlab/background_migration/redact_links.rb
+++ b/lib/gitlab/background_migration/redact_links.rb
@@ -1,25 +1,14 @@
# frozen_string_literal: true
# rubocop:disable Style/Documentation
+require_relative 'redact_links/redactable'
+
module Gitlab
module BackgroundMigration
class RedactLinks
- module Redactable
- extend ActiveSupport::Concern
-
- def redact_field!(field)
- self[field].gsub!(%r{/sent_notifications/\h{32}/unsubscribe}, '/sent_notifications/REDACTED/unsubscribe')
-
- if self.changed?
- self.update_columns(field => self[field],
- "#{field}_html" => nil)
- end
- end
- end
-
class Note < ActiveRecord::Base
include EachBatch
- include Redactable
+ include ::Gitlab::BackgroundMigration::RedactLinks::Redactable
self.table_name = 'notes'
self.inheritance_column = :_type_disabled
@@ -27,7 +16,7 @@ module Gitlab
class Issue < ActiveRecord::Base
include EachBatch
- include Redactable
+ include ::Gitlab::BackgroundMigration::RedactLinks::Redactable
self.table_name = 'issues'
self.inheritance_column = :_type_disabled
@@ -35,7 +24,7 @@ module Gitlab
class MergeRequest < ActiveRecord::Base
include EachBatch
- include Redactable
+ include ::Gitlab::BackgroundMigration::RedactLinks::Redactable
self.table_name = 'merge_requests'
self.inheritance_column = :_type_disabled
@@ -43,7 +32,7 @@ module Gitlab
class Snippet < ActiveRecord::Base
include EachBatch
- include Redactable
+ include ::Gitlab::BackgroundMigration::RedactLinks::Redactable
self.table_name = 'snippets'
self.inheritance_column = :_type_disabled
diff --git a/lib/gitlab/background_migration/redact_links/redactable.rb b/lib/gitlab/background_migration/redact_links/redactable.rb
new file mode 100644
index 00000000000..baab34221f1
--- /dev/null
+++ b/lib/gitlab/background_migration/redact_links/redactable.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+# rubocop:disable Style/Documentation
+
+module Gitlab
+ module BackgroundMigration
+ class RedactLinks
+ module Redactable
+ extend ActiveSupport::Concern
+
+ def redact_field!(field)
+ self[field].gsub!(%r{/sent_notifications/\h{32}/unsubscribe}, '/sent_notifications/REDACTED/unsubscribe')
+
+ if self.changed?
+ self.update_columns(field => self[field],
+ "#{field}_html" => nil)
+ end
+ end
+ end
+ end
+ end
+end