class FlexStationData::LoadPlates
Attributes
file[R]
Public Class Methods
new(file)
click to toggle source
# File lib/flex_station_data/services/load_plates.rb, line 14 def initialize(file) @file = file end
Public Instance Methods
call()
click to toggle source
# File lib/flex_station_data/services/load_plates.rb, line 29 def call data_blocks.each_with_index.map do |data_block, index| FlexStationData::ParsePlate.call(index + 1, data_block) end end
data()
click to toggle source
# File lib/flex_station_data/services/load_plates.rb, line 18 def data CSV.read(file, headers: false).to_a end
data_blocks()
click to toggle source
# File lib/flex_station_data/services/load_plates.rb, line 22 def data_blocks @data_blocks ||= data.each_with_object([]) do |row, blocks| blocks << [] if plate_row?(row) blocks.last&.push(row) end end
Private Instance Methods
plate_row?(row)
click to toggle source
# File lib/flex_station_data/services/load_plates.rb, line 37 def plate_row?(row) row[0].to_s =~ /\A\s*Plate:\s*/i end