Module: Submission::StateMachine
- Included in:
- Submission
- Defined in:
- app/models/submission/state_machine.rb
Overview
Included in submission to add its state-machine
Uses the following states: building - Initial state. Indicates the user is preparing the submissions pending - The submission has been finalized by the user and is awaiting processing. Entry into this state queues the submission for processing by the SubmissionBuilderJob processing - The delayed job has picked up the submission and is currently building it ready - The submission has been processed and is ready for work failed - The SubmissionBuilderJob failed and the submission has not been processed cancelled - The submission was made in error or is no longer needed. Entry into this state will cancel all requests in the submission.
Defined Under Namespace
Modules: InstanceMethods
Constant Summary collapse
- UNPROCESSED_STATES =
%w[building pending processing].freeze
Class Method Summary collapse
Class Method Details
.extended(base) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/models/submission/state_machine.rb', line 18 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 |