Class: Barcode::FormatHandlers::SangerEan13

Inherits:
SangerBase
  • Object
show all
Defined in:
app/models/barcode/format_handlers.rb

Overview

The original Sequencescape barcode format. results in: Human readable form: DN12345U Ean13 compatible machine readable form: 1220012345855 This class mostly wraps the SBCF Gem

Author:

  • [jg16]

Instance Attribute Summary

Attributes inherited from SangerBase

#barcode_object

Instance Method Summary collapse

Methods inherited from SangerBase

#barcode_prefix, #code128_barcode?, #code39_barcode?, #ean13_barcode, #ean13_barcode?, #initialize, #number_as_string

Constructor Details

This class inherits a constructor from Barcode::FormatHandlers::SangerBase

Instance Method Details

#machine_barcodeObject Also known as: code128_barcode, code39_barcode

The gem was yielding integers for backward compatible reasons. We'll convert for the time being, but should probably fix that.



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'app/models/barcode/format_handlers.rb', line 71

 do
  # NOTE: The following attribute is not required for Microarray Genotyping.
  # I think this might be broken and suggests that there should be separate classes for project: one for
  # next-gen sequencing that includes this attribute in it's metadata, and one for microarray genotyping
  # that doesn't.
  include ProjectManager::Associations
  include BudgetDivision::Associations

  custom_attribute(:project_cost_code, required: true)
  custom_attribute(:funding_comments)
  custom_attribute(:collaborators)
  custom_attribute(:external_funding_source)
  custom_attribute(:sequencing_budget_cost_centre)
  custom_attribute(:project_funding_model, in: PROJECT_FUNDING_MODELS)
  custom_attribute(:gt_committee_tracking_id)

  before_validation do |record|
    record.project_cost_code = nil if record.project_cost_code.blank?
    record.project_funding_model = nil if record.project_funding_model.blank?
  end
end