Sha256: 0117767255c9079736e156ecaac96012b2072689990cf08f69c08eaa28b9e84e

Contents?: true

Size: 536 Bytes

Versions: 3

Compression:

Stored size: 536 Bytes

Contents

module ActiveadminJobs
  class JobResultRenderer
    attr_reader :page, :job, :result

    def initialize(page)
      @page = page
      @job = @page.resource
      @result = @job.result
    end

    def render
      page.render(partial: partial_path, locals: { job: job, result: formatted_result })
    end

    private

    def partial_path
      "#{job.job_class.demodulize.tableize.singularize}.#{job.status}.html.erb"
    end

    def formatted_result
      eval(job.result)
    rescue Exception
      job.result
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activeadmin_jobs-0.5.2 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.5.1 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.5.0 lib/activeadmin_jobs/job_result_renderer.rb