Sha256: f61fda002862e954283698d717cfaab1d530507b55e8c9377ecd979823260b99

Contents?: true

Size: 926 Bytes

Versions: 1

Compression:

Stored size: 926 Bytes

Contents

module Qo
  # Defines common exception classes for use throughout the library
  #
  # @author baweaver
  # @since 0.2.0
  #
  module Exceptions
    # If no matchers in either Array or Hash style are provided.
    #
    # @author baweaver
    # @since 0.2.0
    #
    class NoMatchersProvided < ArgumentError
      def to_s
        "No Qo matchers were provided!"
      end
    end

    # If both Array and Hash style matchers are provided.
    #
    # @author baweaver
    # @since 0.2.0
    #
    class MultipleMatchersProvided < ArgumentError
      def to_s
        "Cannot provide both array and keyword matchers!"
      end
    end

    # In the case of a Pattern Match, we should only have one "else" clause
    #
    # @author baweaver
    # @since 0.3.0
    #
    class MultipleElseClauses < ArgumentError
      def to_s
        "Cannot have more than one `else` clause in a Pattern Match."
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
qo-0.5.0 lib/qo/exceptions.rb