Module: SequencescapeExcel::Helpers::Attributes
- Extended by:
- ActiveSupport::Concern
- Includes:
- ActiveModel::Model, ActiveRecord::AttributeAssignment, Comparable
- Included in:
- SampleManifestExcel::ManifestTypeList::ManifestType, Column, ConditionalFormatting, ConditionalFormattingDefault, Formula, Range, Validation
- Defined in:
- app/sequencescape_excel/sequencescape_excel/helpers/attributes.rb
Overview
Just a little bit of extra help to add ActiveModel::Model. Attribute accessors and default attributes can be created.
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Two objects are comparable if all of their instance variables that are present are comparable.
-
#to_a ⇒ Object
Push all of the instance variables onto an array useful for comparison.
Instance Method Details
#<=>(other) ⇒ Object
Two objects are comparable if all of their instance variables that are present are comparable.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'app/sequencescape_excel/sequencescape_excel/helpers/attributes.rb', line 41 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 |
#to_a ⇒ Object
Push all of the instance variables onto an array useful for comparison.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'app/sequencescape_excel/sequencescape_excel/helpers/attributes.rb', line 34 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 |