diff --git a/lib/crono/job.rb b/lib/crono/job.rb index d92a5e1..ba67828 100644 --- a/lib/crono/job.rb +++ b/lib/crono/job.rb @@ -35,6 +35,10 @@ module Crono model.update(last_performed_at: last_performed_at) end + def load + self.last_performed_at = model.last_performed_at + end + private def model @model ||= Crono::CronoJob.find_or_create_by(job_id: job_id) diff --git a/spec/job_spec.rb b/spec/job_spec.rb index 74ab0b9..a160264 100644 --- a/spec/job_spec.rb +++ b/spec/job_spec.rb @@ -40,4 +40,17 @@ describe Crono::Job do expect(@crono_job.last_performed_at).to be_eql(job.last_performed_at) end end + + describe "#load" do + before do + @saved_last_performed_at = job.last_performed_at = Time.now + job.save + end + + it "should load info from DB" do + @job = Crono::Job.new(TestJob, period) + @job.load + expect(@job.last_performed_at).to be_eql @saved_last_performed_at + end + end end