Sha256: 676d268440e613e8429b824911bfe5937ce8e7632dbe3a37ae1f8794a2cdb42d

Contents?: true

Size: 814 Bytes

Versions: 3

Compression:

Stored size: 814 Bytes

Contents

# frozen_string_literal: true

module Clamp

  # raised to indicate invalid option/parameter declaration
  class DeclarationError < StandardError
  end

  # abstract command runtime error
  class RuntimeError < StandardError

    def initialize(message, command)
      super(message)
      @command = command
    end

    attr_reader :command

  end

  # raised to signal incorrect command usage
  class UsageError < RuntimeError; end

  # raised to request usage help
  class HelpWanted < RuntimeError

    def initialize(command)
      super("I need help", command)
    end

  end

  # raised to signal error during execution
  class ExecutionError < RuntimeError

    def initialize(message, command, status = 1)
      super(message, command)
      @status = status
    end

    attr_reader :status

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
clamp-1.3.2 lib/clamp/errors.rb
clamp-1.3.1 lib/clamp/errors.rb
clamp-1.3.0 lib/clamp/errors.rb