Sha256: 9729ff882ddf415096a7a5e8f68a1bc194646cf938f43f4c1fa67ac033da4ee6

Contents?: true

Size: 1.3 KB

Versions: 10

Compression:

Stored size: 1.3 KB

Contents

module Seam
  module Persistence
    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
      #document = Seam::MongoDb.collection.find( { id: effort_id } ).first
      #return nil unless document
      #Seam::Effort.parse document
    end

    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 }
      #Seam::MongoDb.collection
        #.find( { next_step: step, next_execute_at: { '$lte' => Time.now } } )
        #.map { |x| Seam::Effort.parse x }
    end

    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
      #Seam::MongoDb.collection.find( { id: effort.id } )
      #    .update("$set" => effort.to_hash)
    end

    def self.create effort
      Seam::InMemory.records = [Seam::InMemory.records, effort].flatten
      #Seam::MongoDb.collection.insert(effort.to_hash)
    end

    def self.all
      Seam::InMemory.records.to_a
    end

    def self.destroy
      Seam::InMemory.records = []
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
seam-0.0.16 lib/seam/persistence.rb
seam-0.0.15 lib/seam/persistence.rb
seam-0.0.14 lib/seam/persistence.rb
seam-0.0.13 lib/seam/persistence.rb
seam-0.0.12 lib/seam/persistence.rb
seam-0.0.11 lib/seam/persistence.rb
seam-0.0.10 lib/seam/persistence.rb
seam-0.0.9 lib/seam/persistence.rb
seam-0.0.8 lib/seam/persistence.rb
seam-0.0.7 lib/seam/persistence.rb