Sha256: b6831152bc6f3e956a37c13ce0740e9f27d3f1d27d8813a0a9a1ef600ac08ceb

Contents?: true

Size: 782 Bytes

Versions: 1

Compression:

Stored size: 782 Bytes

Contents

require 'logger'
require 'dry/monads'
require 'securerandom'

require 'novel/state_machines/saga_status'
require 'novel/state_machines/transaction_status'

require 'novel/container'
require 'novel/workflow_builder'
require 'novel/workflow'
require 'novel/executor'
require 'novel/saga_repository'
require 'novel/saga'
require 'novel/base'
require 'novel/version'

module Novel
  class Error < StandardError; end
  class InvalidRepositoryError < Error; end

  BASE_LOGGER = Logger.new(STDOUT)
  ONE_MINUTE = 60
  MEMORY_REPOSITORY = SagaRepository.new(adapter: RepositoryAdapters::Memory.new)

  def self.compose(repository: MEMORY_REPOSITORY, logger: BASE_LOGGER, timeout: ONE_MINUTE, **args)
    Base.new(repository: repository, logger: logger, timeout: timeout, **args)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
novel-0.3.0 lib/novel.rb