class Tartarus::Repository
Attributes
backend[R]
serializer[R]
Public Class Methods
new(backend: Sidekiq::Cron::Job, serializer: Tartarus::ArchivableItem::SidekiqCronJobSerializer.new)
click to toggle source
# File lib/tartarus/repository.rb, line 5 def initialize(backend: Sidekiq::Cron::Job, serializer: Tartarus::ArchivableItem::SidekiqCronJobSerializer.new) @backend = backend @serializer = serializer end
Public Instance Methods
save(archivable_item)
click to toggle source
# File lib/tartarus/repository.rb, line 10 def save(archivable_item) backend.new(serializer.serialize(archivable_item)).tap do |job| if job.valid? job.save else raise_invalid_job(job) end end end
Private Instance Methods
raise_invalid_job(job)
click to toggle source
# File lib/tartarus/repository.rb, line 22 def raise_invalid_job(job) errors = job.errors.join(",") raise "could not save job: #{errors}" end