Module: Asyncapi::Server::RailsExt::Controller::ClassMethods

Defined in:
lib/asyncapi/server/rails_ext/controller.rb

Instance Method Summary collapse

Instance Method Details

#async(method_name, klass) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/asyncapi/server/rails_ext/controller.rb', line 9

def async(method_name, klass)
  define_method(method_name) do
    job = Job.create(job_params_with(klass.name))
    ActiveRecord::Base.after_transaction do
      JobWorker.perform_async(job.id)
    end
    serializer = JobSerializer.new(job)
    render json: serializer
  end
end