Sha256: 47e102b7f7d33f5f43bc2fe363f11e54493c9cc0675d472b841898a94bd83dc1

Contents?: true

Size: 738 Bytes

Versions: 3

Compression:

Stored size: 738 Bytes

Contents

# frozen_string_literal: true

module BitmaskEnum
  # Error for an invalid definition of the bitmask enum
  # @api private
  class BitmaskEnumInvalidError < ArgumentError
    def initialize(detail)
      super("BitmaskEnum definition is invalid: #{detail}")
    end
  end

  # Error for a conflicting method that would be generated by the enum
  # @api private
  class BitmaskEnumMethodConflictError < ArgumentError
    def initialize(source, klass, attribute, method_name, klass_method)
      super(
        'BitmaskEnum method definition is conflicting: ' \
        "#{klass_method ? 'class ' : ''}method: #{method_name} " \
        "for enum: #{attribute} in class: #{klass} is already defined by: #{source}"
      )
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bitmask_enum-1.1.1 lib/bitmask_enum/errors.rb
bitmask_enum-1.1.0 lib/bitmask_enum/errors.rb
bitmask_enum-1.0.0 lib/bitmask_enum/errors.rb