Class: UatActions::GenerateSampleManifest
- Inherits:
-
UatActions
- Object
- UatActions
- UatActions::GenerateSampleManifest
show all
- Includes:
- Shared::StudyHelper, Shared::SupplierHelper
- Defined in:
- app/uat_actions/uat_actions/generate_sample_manifest.rb
Overview
Will construct a sample manifest
Constant Summary
collapse
- ERROR_TUBE_PURPOSE_DOES_NOT_EXIST =
"Tube purpose '%s' does not exist."
Constants inherited
from UatActions
CATEGORY_LIST
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from UatActions
all, category, find, form_field, form_fields, grouped_and_sorted_uat_actions, id, inherited, permitted, #report, #save, to_partial_path, uat_actions
Instance Method Details
#create_sample_manifest ⇒ Object
81
82
83
|
# File 'app/uat_actions/uat_actions/generate_sample_manifest.rb', line 81
def create_sample_manifest
SampleManifest.create!(study:, supplier:, asset_type:, count:, purpose:)
end
|
#create_samples(sample_manifest) ⇒ Object
90
91
92
93
94
95
96
97
98
99
|
# File 'app/uat_actions/uat_actions/generate_sample_manifest.rb', line 90
def create_samples(sample_manifest)
sample_manifest.assets.each do |asset|
raise 'Manifest for plates is not supported yet' unless asset_type == '1dtube'
create_sample("Sample_#{asset.human_barcode}_1", sample_manifest).tap do |sample|
asset.aliquots.create!(sample:, study:)
study.samples << sample
end
end
end
|
#generate_manifest(sample_manifest) ⇒ Object
85
86
87
88
|
# File 'app/uat_actions/uat_actions/generate_sample_manifest.rb', line 85
def generate_manifest(sample_manifest)
sample_manifest.generate
create_samples(sample_manifest) if with_samples == '1'
end
|
62
63
64
65
66
67
68
|
# File 'app/uat_actions/uat_actions/generate_sample_manifest.rb', line 62
def perform
sample_manifest = create_sample_manifest
generate_manifest(sample_manifest)
print_report(sample_manifest)
true
end
|
#validate_tube_purpose_exists ⇒ void
This method returns an undefined value.
Validates that the tube purpose exists for the selected tube purpose name.
73
74
75
76
77
78
79
|
# File 'app/uat_actions/uat_actions/generate_sample_manifest.rb', line 73
def validate_tube_purpose_exists
return if tube_purpose_name.blank? return if Tube::Purpose.exists?(name: tube_purpose_name)
message = format(ERROR_TUBE_PURPOSE_DOES_NOT_EXIST, tube_purpose_name)
errors.add(:tube_purpose_name, message)
end
|