Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/application_record.rb')
-rw-r--r--app/models/application_record.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/app/models/application_record.rb b/app/models/application_record.rb
index 1bbace791ed..5e5bc00458e 100644
--- a/app/models/application_record.rb
+++ b/app/models/application_record.rb
@@ -66,6 +66,12 @@ class ApplicationRecord < ActiveRecord::Base
end
end
+ def create_or_load_association(association_name)
+ association(association_name).create unless association(association_name).loaded?
+ rescue ActiveRecord::RecordNotUnique, PG::UniqueViolation
+ association(association_name).reader
+ end
+
def self.underscore
Gitlab::SafeRequestStore.fetch("model:#{self}:underscore") { self.to_s.underscore }
end
@@ -80,4 +86,4 @@ class ApplicationRecord < ActiveRecord::Base
end
end
-ApplicationRecord.prepend_if_ee('EE::ApplicationRecordHelpers')
+ApplicationRecord.prepend_mod_with('ApplicationRecordHelpers')