Only support single scope argument.
We can extend this later, but for now we don't have the use case.
This commit is contained in:
parent
4c1e6fd0e8
commit
bc3fc8ec3e
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue