Sha256: e0b22f36aa51714a2323d528c8578ab53dc6b5c6b45d5d448cfed4e429b8b21a

Contents?: true

Size: 697 Bytes

Versions: 7

Compression:

Stored size: 697 Bytes

Contents

module Arx

  # Various arXiv-related errors.
  module Error

    # Custom error for missing links on an arXiv paper.
    class MissingLink < StandardError
      def initialize(id, link_type)
        super "arXiv paper #{id} does not have a #{link_type} link"
      end
    end

    # Custom error for missing fields on an arXiv paper.
    class MissingField < StandardError
      def initialize(id, field)
        super "arXiv paper #{id} is missing the `#{field}` metadata field"
      end
    end

    # Custom error for missing arXiv papers.
    class MissingPaper < StandardError
      def initialize(id)
        super "Couldn't find an arXiv paper with ID: #{id}"
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
arx-1.3.0 lib/arx/error.rb
arx-1.2.1 lib/arx/error.rb
arx-1.2.0 lib/arx/error.rb
arx-1.1.0 lib/arx/error.rb
arx-1.0.1 lib/arx/error.rb
arx-1.0.0 lib/arx/error.rb
arx-0.3.2 lib/arx/error.rb