Commit 4f726195 authored by Andreas Brandl's avatar Andreas Brandl

Only support single scope argument.

We can extend this later, but for now we don't have the use case.
parent b507e3fa
......@@ -28,11 +28,9 @@ module AtomicInternalId
def has_internal_id(on, scope:, usage: nil, init:) # rubocop:disable Naming/PredicateName
before_validation(on: :create) do
if self.public_send(on).blank? # rubocop:disable GitlabSecurity/PublicSend
scope_attrs = [scope].flatten.compact.each_with_object({}) do |e, h|
h[e] = self.public_send(e) # rubocop:disable GitlabSecurity/PublicSend
end
scope_attrs = { scope => self.public_send(scope) } # rubocop:disable GitlabSecurity/PublicSend
usage = (usage || self.class.table_name).to_sym
new_iid = InternalId.generate_next(self, scope_attrs, usage, init)
self.public_send("#{on}=", new_iid) # rubocop:disable GitlabSecurity/PublicSend
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment