class Dynflow::CoordinatorAdapters::Sequel

Public Class Methods

new(world) click to toggle source
# File lib/dynflow/coordinator_adapters/sequel.rb, line 4
def initialize(world)
  super
  @sequel_adapter = world.persistence.adapter
  Type! @sequel_adapter, PersistenceAdapters::Sequel
end

Public Instance Methods

create_record(record) click to toggle source
# File lib/dynflow/coordinator_adapters/sequel.rb, line 10
def create_record(record)
  @sequel_adapter.insert_coordinator_record(record.to_hash)
rescue Errors::PersistenceError => e
  if e.cause.is_a? ::Sequel::UniqueConstraintViolation
    raise Coordinator::DuplicateRecordError.new(record)
  else
    raise e
  end
end
delete_record(record) click to toggle source
# File lib/dynflow/coordinator_adapters/sequel.rb, line 24
def delete_record(record)
  @sequel_adapter.delete_coordinator_record(record.class.name, record.id)
end
find_execution_plans(filter_options) click to toggle source
# File lib/dynflow/coordinator_adapters/sequel.rb, line 32
def find_execution_plans(filter_options)
  @sequel_adapter.find_execution_plans(filters: filter_options)
end
find_records(filter_options) click to toggle source
# File lib/dynflow/coordinator_adapters/sequel.rb, line 28
def find_records(filter_options)
  @sequel_adapter.find_coordinator_records(filters: filter_options)
end
update_record(record) click to toggle source
# File lib/dynflow/coordinator_adapters/sequel.rb, line 20
def update_record(record)
  @sequel_adapter.update_coordinator_record(record.class.name, record.id, record.to_hash)
end