Class: Kosi::Validators::EachArrayLength

Inherits:
Object
  • Object
show all
Defined in:
lib/kosi/validators/each_array_length_validator.rb

Overview

EachArrayLength Validator if row class is not Array, fail ArgumentError.

Constant Summary collapse

INVALID_ARRAY_LENGTH_MESSAGE =
'invalid array length.each array must be same length'

Class Method Summary collapse

Class Method Details

.validate(row) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/kosi/validators/each_array_length_validator.rb', line 12

def self.validate(row)
  row_sizes = row.map(&:size)
  return if row_sizes.uniq.size == 0
  unless row_sizes.uniq.size == 1
    fail ArgumentError, INVALID_ARRAY_LENGTH_MESSAGE
  end
end