Class: Glia::Errors::ItemsOverlapError

Inherits:
Error
  • Object
show all
Defined in:
lib/glia/errors/client_errors.rb

Instance Attribute Summary

Attributes inherited from Error

#error_details, #message, #ref, #type

Instance Method Summary collapse

Methods inherited from Error

#to_h

Constructor Details

#initialize(overlapping_item_indexes:, message: nil) ⇒ ItemsOverlapError

Returns a new instance of ItemsOverlapError.

Raises:

  • (ArgumentError)


427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
# File 'lib/glia/errors/client_errors.rb', line 427

def initialize(overlapping_item_indexes:, message: nil)
  raise ArgumentError, 'overlapping_item_indexes value must be list' unless overlapping_item_indexes.is_a?(Array)

  raise ArgumentError, 'at least 2 overlapping item indexes are required' if overlapping_item_indexes.size < 2

  overlapping_item_indexes.each do |value|
    raise ArgumentError, 'overlapping_item_indexes values must be integers' unless value.is_a?(Integer)
  end

  super(
    type: ITEMS_OVERLAP_ERROR,
    ref: create_ref(ITEMS_OVERLAP_ERROR),
    message: message || 'Items must not overlap each other',
    error_details: { overlapping_item_indexes: overlapping_item_indexes }
  )
end