Class: UatActions::TestSubmission
- Inherits:
-
UatActions
- Object
- UatActions
- UatActions::TestSubmission
- Defined in:
- app/uat_actions/uat_actions/test_submission.rb
Overview
Will construct submissions Currently VERY basic
Constant Summary
Constants inherited from UatActions
Class Method Summary collapse
- .compatible_submission_templates ⇒ Object
-
.default ⇒ UatActions::TestSubmission
Returns a default copy of the UatAction which will be used to fill in the form.
Instance Method Summary collapse
-
#perform ⇒ Boolean
Generates a plate submission for the given template.
Methods inherited from UatActions
all, category, find, form_field, form_fields, #form_fields, grouped_and_sorted_uat_actions, id, inherited, permitted, #report, #save, to_partial_path, uat_actions
Class Method Details
.compatible_submission_templates ⇒ Object
106 107 108 109 110 111 112 113 114 |
# File 'app/uat_actions/uat_actions/test_submission.rb', line 106 def self.compatible_submission_templates SubmissionTemplate .visible .each_with_object([]) do |submission_template, compatible| next unless submission_template.input_asset_type == 'Well' compatible << submission_template.name end end |
.default ⇒ UatActions::TestSubmission
Returns a default copy of the UatAction which will be used to fill in the form
102 103 104 |
# File 'app/uat_actions/uat_actions/test_submission.rb', line 102 def self.default new(number_of_samples_in_each_well: 1) end |
Instance Method Details
#perform ⇒ Boolean
Generates a plate submission for the given template. A partial submission is possible if the number_of_wells_to_submit form field has been set.
rubocop:todo Metrics/MethodLength
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'app/uat_actions/uat_actions/test_submission.rb', line 122 def perform # rubocop:todo Metrics/AbcSize order = submission_template.create_with_submission!( study: study, project: project, user: user, assets: assets, request_options: ) report['plate_barcode_0'] = labware. report['submission_id'] = order.submission.id report['library_type'] = order.[:library_type] if order.[:library_type].present? report['primer_panel'] = order.[:primer_panel_name] if order.[ :primer_panel_name ].present? report['number_of_wells_with_samples'] = labware.wells.with_aliquots.size report['number_of_samples_in_each_well'] = labware.wells.with_aliquots.first.aliquots.size report['number_of_wells_to_submit'] = assets.size order.submission.built! true end |