Sha256: 01bb94155441074f18d7ef16e15b732f8949bfd8cc4178245cc6165d22a2ca7d

Contents?: true

Size: 525 Bytes

Versions: 8

Compression:

Stored size: 525 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.tableize.singularize}.#{job.status}.html.erb"
    end

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

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
activeadmin_jobs-0.4.1 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.4.0 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.3.0 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.2.1 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.2.0 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.1.2 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.1.1 lib/activeadmin_jobs/job_result_renderer.rb
activeadmin_jobs-0.1.0 lib/activeadmin_jobs/job_result_renderer.rb