module Seam::Persistence

Public Class Methods

all() click to toggle source
# File lib/seam/persistence.rb, line 35
def self.all
  Seam::InMemory.records.to_a
end
create(effort) click to toggle source
# File lib/seam/persistence.rb, line 31
def self.create effort
  Seam::InMemory.records = [Seam::InMemory.records, effort].flatten
end
destroy() click to toggle source
# File lib/seam/persistence.rb, line 39
def self.destroy
  Seam::InMemory.records = []
end
find_all_pending_executions_by_step(step) click to toggle source
# File lib/seam/persistence.rb, line 9
def self.find_all_pending_executions_by_step step
  Seam::InMemory.records
    .select { |x| x.next_step == step && x.next_execute_at <= Time.now }
    .map { |x| x.clone }
end
find_by_effort_id(effort_id) click to toggle source
# File lib/seam/persistence.rb, line 3
def self.find_by_effort_id effort_id
  effort = Seam::InMemory.records.select { |x| x.id == effort_id }.first
  return nil unless effort
  effort.clone
end
find_something_to_do() click to toggle source
# File lib/seam/persistence.rb, line 15
def self.find_something_to_do
  Seam::InMemory.records
    .select { |x| x.complete.nil? || x.complete == false }
    .select { |x| x.next_execute_at <= Time.now }
    .select { |x| x.next_step != nil }
    .map    { |x| x.clone }
end
save(effort) click to toggle source
# File lib/seam/persistence.rb, line 23
def self.save effort
  old_record = find_by_effort_id effort.id
  if old_record
    Seam::InMemory.records = Seam::InMemory.records.select { |x| x.id != effort.id }.to_a
  end
  create effort
end