Class: BiocurationClassification
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- BiocurationClassification
- Includes:
- Housekeeping, Shared::IsData
- Defined in:
- app/models/biocuration_classification.rb
Overview
A BiocurationClassification classifies a CollectionObject within a collection into some biologically-related category. See BiocurationClass.
Instance Attribute Summary collapse
-
#biocuration_class_id ⇒ Integer
the biocuration class ID.
-
#biological_collection_object_id ⇒ Integer
the biological collection object ID.
-
#position ⇒ Integer
Used with acts_as_list.
-
#project_id ⇒ Integer
the project ID.
Instance Method Summary collapse
- #revert_dwc_occurrence ⇒ Object protected
- #update_dwc_occurrence ⇒ Object protected
Methods included from Shared::IsData
#errors_excepting, #full_error_messages_excepting, #identical, #is_community?, #is_destroyable?, #is_editable?, #is_in_use?, #is_in_users_projects?, #metamorphosize, #similar
Methods included from Housekeeping
#has_polymorphic_relationship?
Methods inherited from ApplicationRecord
Instance Attribute Details
#biocuration_class_id ⇒ Integer
the biocuration class ID
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/models/biocuration_classification.rb', line 20 class BiocurationClassification < ApplicationRecord include Housekeeping include Shared::IsData acts_as_list scope: [:biological_collection_object_id, :project_id] belongs_to :biocuration_class, inverse_of: :biocuration_classifications belongs_to :biological_collection_object, class_name: '::CollectionObject::BiologicalCollectionObject', inverse_of: :biocuration_classifications validates_presence_of :biocuration_class, :biological_collection_object validates_uniqueness_of :biocuration_class, scope: [:biological_collection_object] # Janky, but here for now after_save :update_dwc_occurrence after_destroy :revert_dwc_occurrence protected def update_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'FossilSpecimen') end end def revert_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'PreservedSpecimen') end end end |
#biological_collection_object_id ⇒ Integer
the biological collection object ID
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/models/biocuration_classification.rb', line 20 class BiocurationClassification < ApplicationRecord include Housekeeping include Shared::IsData acts_as_list scope: [:biological_collection_object_id, :project_id] belongs_to :biocuration_class, inverse_of: :biocuration_classifications belongs_to :biological_collection_object, class_name: '::CollectionObject::BiologicalCollectionObject', inverse_of: :biocuration_classifications validates_presence_of :biocuration_class, :biological_collection_object validates_uniqueness_of :biocuration_class, scope: [:biological_collection_object] # Janky, but here for now after_save :update_dwc_occurrence after_destroy :revert_dwc_occurrence protected def update_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'FossilSpecimen') end end def revert_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'PreservedSpecimen') end end end |
#position ⇒ Integer
Returns used with acts_as_list.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/models/biocuration_classification.rb', line 20 class BiocurationClassification < ApplicationRecord include Housekeeping include Shared::IsData acts_as_list scope: [:biological_collection_object_id, :project_id] belongs_to :biocuration_class, inverse_of: :biocuration_classifications belongs_to :biological_collection_object, class_name: '::CollectionObject::BiologicalCollectionObject', inverse_of: :biocuration_classifications validates_presence_of :biocuration_class, :biological_collection_object validates_uniqueness_of :biocuration_class, scope: [:biological_collection_object] # Janky, but here for now after_save :update_dwc_occurrence after_destroy :revert_dwc_occurrence protected def update_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'FossilSpecimen') end end def revert_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'PreservedSpecimen') end end end |
#project_id ⇒ Integer
the project ID
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/models/biocuration_classification.rb', line 20 class BiocurationClassification < ApplicationRecord include Housekeeping include Shared::IsData acts_as_list scope: [:biological_collection_object_id, :project_id] belongs_to :biocuration_class, inverse_of: :biocuration_classifications belongs_to :biological_collection_object, class_name: '::CollectionObject::BiologicalCollectionObject', inverse_of: :biocuration_classifications validates_presence_of :biocuration_class, :biological_collection_object validates_uniqueness_of :biocuration_class, scope: [:biological_collection_object] # Janky, but here for now after_save :update_dwc_occurrence after_destroy :revert_dwc_occurrence protected def update_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'FossilSpecimen') end end def revert_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'PreservedSpecimen') end end end |
Instance Method Details
#revert_dwc_occurrence ⇒ Object (protected)
44 45 46 47 48 |
# File 'app/models/biocuration_classification.rb', line 44 def revert_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'PreservedSpecimen') end end |
#update_dwc_occurrence ⇒ Object (protected)
38 39 40 41 42 |
# File 'app/models/biocuration_classification.rb', line 38 def update_dwc_occurrence if biocuration_class.uri == DWC_FOSSIL_URI biological_collection_object.dwc_occurrence&.update_attribute(:basisOfRecord, 'FossilSpecimen') end end |