Class: DriverFilesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/driver_files_controller.rb

Overview

Handles the generation for robot driver files, mostly in association with the CherrypickingPipeline A request to eg. batches/1/robots/3/driver_file Will generate a pick list for batch 1, using the generator specified for robot 3 The barcode parameter can be used to specify a specific target plate

Constant Summary

Constants included from FlashTruncation

FlashTruncation::STRING_OVERHEAD

Instance Method Summary collapse

Methods inherited from ApplicationController

#block_api_access, #evil_parameter_hack!, #extract_header_info, #set_cache_disabled!

Methods included from FlashTruncation

#max_flash_size, #truncate_flash, #truncate_flash_array

Instance Method Details

#showObject



12
13
14
15
16
17
18
19
20
# File 'app/controllers/driver_files_controller.rb', line 12

def show
  @plate_barcode = @batch.plate_barcode(params[:barcode])
  generator = @robot.generator(batch: @batch, plate_barcode: @plate_barcode, pick_number: pick_number)
  base_filename = "#{@batch.id}_batch_#{@plate_barcode}_#{pick_number}"
  send_data generator.as_text,
            type: generator.type,
            filename: generator.filename(base_filename),
            disposition: 'attachment'
end