Sha256: 9bcca79af3dfa653e09fbca0a12e4bf1cd5d67bd536f2c3dcff8bea1dccd672a

Contents?: true

Size: 802 Bytes

Versions: 2

Compression:

Stored size: 802 Bytes

Contents

module Departure
  class Error < StandardError; end

  # Used when for whatever reason we couldn't get the spawned process'
  # status.
  class NoStatusError < Error
    def message
      'Status could not be retrieved'.freeze
    end
  end

  # Used when the spawned process failed by receiving a signal.
  # pt-online-schema-change returns "SIGSEGV (signal 11)" on failures.
  class SignalError < Error
    attr_reader :status

    # Constructor
    #
    # @param status [Process::Status]
    def initialize(status)
      super
      @status = status
    end

    def message
      status.to_s
    end
  end

  class CommandNotFoundError < Error
    def message
      'Please install pt-online-schema-change. Check: https://www.percona.com/doc/percona-toolkit for further details'
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
departure-1.0.1 lib/departure/errors.rb
departure-1.0.0 lib/departure/errors.rb