Sha256: 4ea7928c34e2e75927ba54a84355288a97ecb4b46a61247726f6073799afc399

Contents?: true

Size: 1.01 KB

Versions: 13

Compression:

Stored size: 1.01 KB

Contents

class Kuroko2::LogsController < Kuroko2::ApplicationController
  def index
    definition = Kuroko2::JobDefinition.find(logs_params[:job_definition_id])
    instance   = Kuroko2::JobInstance.find(logs_params[:job_instance_id])
    logs       = instance.logs.order(:id)

    render json: {
      reload: instance.working? && !instance.error?,
      logs: logs.map { |log|
        {
          id: log.id,
          level: log.level,
          class_for_label: class_for_label(log.level),
          created_at: log.created_at,
          message_html: Rinku.auto_link(ERB::Util.h(log.message), :urls),
        }
      },
    }
  end

  private

  def logs_params
    params.permit(:job_definition_id, :job_instance_id)
  end

  def class_for_label(level)
    modifier = case level
               when 'INFO'
                 'info'
               when 'ERROR'
                 'danger'
               when 'WARN'
                 'warning'
               else
                 'default'
               end
    "label-#{modifier}"
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
kuroko2-0.8.0 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.7.0 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.6.0 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.5.2 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.5.1 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.5.0 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.4.6 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.4.5 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.4.4 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.4.3 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.4.2 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.4.1 app/controllers/kuroko2/logs_controller.rb
kuroko2-0.4.0 app/controllers/kuroko2/logs_controller.rb