Class: SampleManifest::SampleTubeBehaviour::Core
Instance Attribute Summary collapse
Instance Method Summary
collapse
#generate_sample_and_aliquot, #stocks?, #tag_depth_for_sample
#specialized_fields, #validate_specialized_fields
#details_array, #updated_by!
#details, #generate_sanger_ids, included
Constructor Details
#initialize(manifest) ⇒ Core
Returns a new instance of Core.
9
10
11
12
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 9
def initialize(manifest)
@manifest = manifest
@tubes = []
end
|
Instance Attribute Details
#tubes ⇒ Object
Returns the value of attribute tubes.
7
8
9
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 7
def tubes
@tubes
end
|
Instance Method Details
#acceptable_purposes ⇒ Object
22
23
24
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 22
def acceptable_purposes
Tube::Purpose.where(target_type: SampleTube)
end
|
#default_purpose ⇒ Object
#generate ⇒ Object
14
15
16
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 14
def generate
@tubes = generate_tubes(purpose)
end
|
#included_resources ⇒ Object
43
44
45
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 43
def included_resources
[{ sample: :sample_metadata, asset: %i[aliquots barcodes] }]
end
|
#io_samples ⇒ Object
18
19
20
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 18
def io_samples
samples.map { |sample| { sample: sample, container: { barcode: sample.primary_receptacle.human_barcode } } }
end
|
#labware ⇒ Object
Also known as:
printables
38
39
40
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 38
def labware
tubes | labware_from_samples | @manifest.assets.map(&:labware)
end
|
#labware=(labware) ⇒ Object
34
35
36
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 34
def labware=(labware)
@tubes = labware
end
|
#labware_from_samples ⇒ Object
30
31
32
|
# File 'app/models/sample_manifest/sample_tube_behaviour.rb', line 30
def labware_from_samples
samples.map { |s| s.primary_receptacle.labware }
end
|