Class: ValidateData
- Inherits:
-
Object
- Object
- ValidateData
- Defined in:
- lib/compare-sort.rb
Class Method Summary collapse
- .isArray ⇒ Object
- .run(data) ⇒ Object
- .valuesAreConsistent ⇒ Object
- .valuesAreNumbers ⇒ Object
- .valuesAreStrings ⇒ Object
Class Method Details
.isArray ⇒ Object
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 |
.valuesAreConsistent ⇒ Object
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 |
.valuesAreNumbers ⇒ Object
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 |
.valuesAreStrings ⇒ Object
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 |