194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
|
# File 'app/models/panda_pal/organization_concerns/task_scheduling.rb', line 194
def perform(org_name, task_key)
org = Organization.find_by!(name: org_name)
task = Organization._schedule_descriptors[task_key]
worker = task[:worker]
Apartment::Tenant.switch(org.name) do
if worker.is_a?(Proc)
org.instance_exec(&worker)
elsif worker.is_a?(Symbol)
org.send(worker)
elsif worker.is_a?(String)
worker.constantize.perform_async
elsif worker.is_a?(Class)
worker.perform_async
end
end
end
|