Class: FlexibleSubmission
- Inherits:
-
Order
- Object
- ActiveRecord::Base
- ApplicationRecord
- Order
- FlexibleSubmission
- Defined in:
- app/models/flexible_submission.rb
Overview
FlexibleSubmissions allow multiplexing based on pooling properties defined on the multiplexed request type
Direct Known Subclasses
Constant Summary
Constants inherited from Order
Order::AssetTypeError, Order::DEFAULT_ASSET_INPUT_METHODS
Constants included from Submission::ProjectValidation
Submission::ProjectValidation::Error
Instance Attribute Summary
Attributes inherited from Order
#asset_input_methods, #info_differential, #input_field_infos, #request_type_ids_list
Instance Method Summary collapse
- #request_type_ids ⇒ Object
- #request_type_ids=(id_list) ⇒ Object
-
#request_type_multiplier {|request_types.first.to_s.to_sym| ... } ⇒ Object
rubocop:todo Metrics/AbcSize.
Methods included from Submission::Crossable
#cross_compatible?, #cross_project_allowed, #cross_study_allowed
Methods included from Submission::FlexibleRequestGraph::OrderMethods
Methods inherited from Order
#add_comment, #all_assets, #all_samples, #asset_uuids, #assets=, #autodetection_default, #building?, #building_submission?, #calculated_request_metadata_by_request_key, #collect_gigabases_expected?, #complete_building, #create_request_of_type!, #cross_compatible?, #cross_project_allowed, #cross_study_allowed, #duplicates_within, #first_request_type, #friendly_name, #generate_broadcast_event, #json_root, #multiplexed?, #multiplier_for, #next_request_type_id, #not_ready_samples, #on_delete_destroy_submission, #project_not_set, render_class, #request_types_list, #samples, #sequencing_order?, #study_is_active, #subject_type
Methods included from Submission::RequestOptionsBehaviour
Methods included from Submission::ProjectValidation
#checking_project?, included, #save_after_unmarshalling, #submittable?, #validating?
Methods included from Submission::AssetGroupBehaviour
#complete_building_asset_group, included
Methods included from Uuid::Uuidable
included, #unsaved_uuid!, #uuid
Methods inherited from ApplicationRecord
alias_association, convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!
Methods included from Squishify
Instance Method Details
#request_type_ids ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/models/flexible_submission.rb', line 13 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 |
#request_type_ids=(id_list) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'app/models/flexible_submission.rb', line 9 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 |
#request_type_multiplier {|request_types.first.to_s.to_sym| ... } ⇒ Object
rubocop:todo Metrics/AbcSize
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/models/flexible_submission.rb', line 17 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 |