Class: ValidateData

Inherits:
Object
  • Object
show all
Defined in:
lib/compare-sort.rb

Class Method Summary collapse

Class Method Details

.isArrayObject



72
73
74
# File 'lib/compare-sort.rb', line 72

def self.isArray
  raise "Data must be an array" if (!@data.is_a?(Array))
end

.run(data) ⇒ Object



66
67
68
69
70
# File 'lib/compare-sort.rb', line 66

def self.run(data)
  @data = data
  self.isArray
  self.valuesAreConsistent
end

.valuesAreConsistentObject



76
77
78
79
80
81
82
# File 'lib/compare-sort.rb', line 76

def self.valuesAreConsistent
  if @data[0].is_a?(String)
    valuesAreStrings
  else
    valuesAreNumbers
  end
end

.valuesAreNumbersObject



84
85
86
87
88
89
90
# File 'lib/compare-sort.rb', line 84

def self.valuesAreNumbers
  @data.each do |datum|
    if (!datum.is_a?(Fixnum) && !datum.is_a?(Float))
      raise "Values in array must be all numbers OR all strings" 
    end
  end 
end

.valuesAreStringsObject



92
93
94
95
96
97
98
# File 'lib/compare-sort.rb', line 92

def self.valuesAreStrings
  @data.each do |datum|
    if (!datum.is_a?(String))
      raise "Values in array must be all numbers OR all strings" 
    end
  end 
end