22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/vert/rls/job_context.rb', line 22
def perform(*args)
context = args.last.is_a?(Hash) && (args.last.delete(:__vert_context__) || args.last.delete("__vert_context__"))
Vert::Current.deserialize(context) if context
Vert::Rls::ConnectionHandler.set_context(tenant_id: Vert::Current.tenant_id, company_id: Vert::Current.company_id, user_id: Vert::Current.user_id) if Vert.config.enable_rls && Vert::Current.tenant_id.present?
clean = args.last.is_a?(Hash) ? (args[0..-2] + [args.last.except(:__vert_context__, "__vert_context__")]).reject { |a| a.respond_to?(:empty?) && a.empty? } : args
super(*clean)
ensure
Vert::Current.reset_all
Vert::Rls::ConnectionHandler.reset_context if Vert.config.enable_rls
end
|