class Coruro

Constants

VERSION

Attributes

adapter[RW]

Public Class Methods

adapters() click to toggle source
# File lib/coruro.rb, line 41
def self.adapters
  @adapters ||= { mailcatcher: MailcatcherAdapter }
end
new(adapter:, on_wait_tick: -> (count) { } click to toggle source
# File lib/coruro.rb, line 14
def initialize(adapter:, on_wait_tick: -> (count) { }, timeout: 1.0, adapter_config: {})
  if adapters.key?(adapter)
    self.adapter = adapters[adapter].new(timeout: timeout, config: adapter_config)
    self.adapter.start unless self.adapter.up?
  else
    raise UnrecognizedAdapterError, adapter
  end

  wait_until_up(on_wait_tick)
end

Public Instance Methods

adapters() click to toggle source
# File lib/coruro.rb, line 37
def adapters
  self.class.adapters
end
wait_until_up(on_tick) click to toggle source
# File lib/coruro.rb, line 25
def wait_until_up(on_tick)
  count = 0
  until adapter.up? || count > 5
    on_tick.call(count)
    sleep(1)
    count = count + 1
  end
end