class RailsPerformance::Models::RakeRecord

Attributes

datetime[RW]
datetimei[RW]
duration[RW]
status[RW]
task[RW]

Public Class Methods

from_db(key, value) click to toggle source

rake|task||datetime|20210416T1254|datetimei|1618602843|status|error|END|1.0.0 {“duration”:0.00012442}

# File lib/rails_performance/models/rake_record.rb, line 8
def RakeRecord.from_db(key, value)
  items = key.split("|")

  RakeRecord.new(
    task: JSON.parse(items[2]),
    datetime: items[4],
    datetimei: items[6],
    status: items[8],
    json: value
  )
end
new(task:, duration: nil, datetime:, datetimei:, status:, json: '{}') click to toggle source
# File lib/rails_performance/models/rake_record.rb, line 20
def initialize(task:, duration: nil, datetime:, datetimei:, status:, json: '{}')
  @task         = Array.wrap(task)
  @datetime     = datetime
  @datetimei    = datetimei.to_i
  @status       = status
  @duration     = duration
  @json         = json

  @duration ||= value['duration']
end

Public Instance Methods

record_hash() click to toggle source
# File lib/rails_performance/models/rake_record.rb, line 31
def record_hash
  {
    task: task,
    datetime: Time.at(datetimei),
    datetimei: datetimei,
    duration: duration,
    status: status,
  }
end
save() click to toggle source
# File lib/rails_performance/models/rake_record.rb, line 41
def save
  key   = "rake|task|#{task.to_json}|datetime|#{datetime}|datetimei|#{datetimei}|status|#{status}|END|#{RailsPerformance::SCHEMA}"
  value = { duration: duration }
  Utils.save_to_redis(key, value)
end