Class: Confidence
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Confidence
- Defined in:
- app/models/confidence.rb
Overview
A Confidence is an annotation that links a user-defined confidence level to a data object. It is an assertion as to the quality of that data.
Instance Attribute Summary collapse
-
#confidence_level_id ⇒ Integer
The controlled vocabulary term used in the confidence.
-
#confidence_object_id ⇒ Integer
Rails polymorphic.
-
#confidence_object_type ⇒ String
Rails polymorphic.
-
#position ⇒ Integer
A user definable sort code on the tags on an object, handled by acts_as_list.
-
#project_id ⇒ Integer
the project ID.
Class Method Summary collapse
Methods included from Shared::PolymorphicAnnotator
#annotated_object_is_persisted?
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 Shared::Citations
#cited?, #mark_citations_for_destruction, #nomenclature_date, #origin_citation_source_id, #reject_citations, #requires_citation?, #sources_by_topic_id
Methods included from Housekeeping
#has_polymorphic_relationship?
Methods inherited from ApplicationRecord
Instance Attribute Details
#confidence_level_id ⇒ Integer
Returns the controlled vocabulary term used in the confidence.
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 |
# File 'app/models/confidence.rb', line 24 class Confidence < ApplicationRecord include Housekeeping include Shared::Citations include Shared::IsData include Shared::PolymorphicAnnotator polymorphic_annotates(:confidence_object) acts_as_list scope: [:confidence_object_id, :confidence_object_type, :project_id] belongs_to :confidence_level, inverse_of: :confidences, validate: true belongs_to :controlled_vocabulary_term, foreign_key: :confidence_level_id, inverse_of: :confidences validates :confidence_level, presence: true validates_uniqueness_of :confidence_level_id, scope: [:confidence_object_id, :confidence_object_type] accepts_nested_attributes_for :confidence_level, allow_destroy: true def self.exists?(global_id, confidence_level_id, project_id) o = GlobalID::Locator.locate(global_id) return false unless o Confidence.where(project_id: project_id, confidence_object: o, confidence_level_id: confidence_level_id).first end end |
#confidence_object_id ⇒ Integer
Returns Rails polymorphic. The id of of the object being annotated.
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 |
# File 'app/models/confidence.rb', line 24 class Confidence < ApplicationRecord include Housekeeping include Shared::Citations include Shared::IsData include Shared::PolymorphicAnnotator polymorphic_annotates(:confidence_object) acts_as_list scope: [:confidence_object_id, :confidence_object_type, :project_id] belongs_to :confidence_level, inverse_of: :confidences, validate: true belongs_to :controlled_vocabulary_term, foreign_key: :confidence_level_id, inverse_of: :confidences validates :confidence_level, presence: true validates_uniqueness_of :confidence_level_id, scope: [:confidence_object_id, :confidence_object_type] accepts_nested_attributes_for :confidence_level, allow_destroy: true def self.exists?(global_id, confidence_level_id, project_id) o = GlobalID::Locator.locate(global_id) return false unless o Confidence.where(project_id: project_id, confidence_object: o, confidence_level_id: confidence_level_id).first end end |
#confidence_object_type ⇒ String
Returns Rails polymorphic. The type of the object being annotated.
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 |
# File 'app/models/confidence.rb', line 24 class Confidence < ApplicationRecord include Housekeeping include Shared::Citations include Shared::IsData include Shared::PolymorphicAnnotator polymorphic_annotates(:confidence_object) acts_as_list scope: [:confidence_object_id, :confidence_object_type, :project_id] belongs_to :confidence_level, inverse_of: :confidences, validate: true belongs_to :controlled_vocabulary_term, foreign_key: :confidence_level_id, inverse_of: :confidences validates :confidence_level, presence: true validates_uniqueness_of :confidence_level_id, scope: [:confidence_object_id, :confidence_object_type] accepts_nested_attributes_for :confidence_level, allow_destroy: true def self.exists?(global_id, confidence_level_id, project_id) o = GlobalID::Locator.locate(global_id) return false unless o Confidence.where(project_id: project_id, confidence_object: o, confidence_level_id: confidence_level_id).first end end |
#position ⇒ Integer
Returns a user definable sort code on the tags on an object, handled by acts_as_list.
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 |
# File 'app/models/confidence.rb', line 24 class Confidence < ApplicationRecord include Housekeeping include Shared::Citations include Shared::IsData include Shared::PolymorphicAnnotator polymorphic_annotates(:confidence_object) acts_as_list scope: [:confidence_object_id, :confidence_object_type, :project_id] belongs_to :confidence_level, inverse_of: :confidences, validate: true belongs_to :controlled_vocabulary_term, foreign_key: :confidence_level_id, inverse_of: :confidences validates :confidence_level, presence: true validates_uniqueness_of :confidence_level_id, scope: [:confidence_object_id, :confidence_object_type] accepts_nested_attributes_for :confidence_level, allow_destroy: true def self.exists?(global_id, confidence_level_id, project_id) o = GlobalID::Locator.locate(global_id) return false unless o Confidence.where(project_id: project_id, confidence_object: o, confidence_level_id: confidence_level_id).first end end |
#project_id ⇒ Integer
the project ID
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 |
# File 'app/models/confidence.rb', line 24 class Confidence < ApplicationRecord include Housekeeping include Shared::Citations include Shared::IsData include Shared::PolymorphicAnnotator polymorphic_annotates(:confidence_object) acts_as_list scope: [:confidence_object_id, :confidence_object_type, :project_id] belongs_to :confidence_level, inverse_of: :confidences, validate: true belongs_to :controlled_vocabulary_term, foreign_key: :confidence_level_id, inverse_of: :confidences validates :confidence_level, presence: true validates_uniqueness_of :confidence_level_id, scope: [:confidence_object_id, :confidence_object_type] accepts_nested_attributes_for :confidence_level, allow_destroy: true def self.exists?(global_id, confidence_level_id, project_id) o = GlobalID::Locator.locate(global_id) return false unless o Confidence.where(project_id: project_id, confidence_object: o, confidence_level_id: confidence_level_id).first end end |
Class Method Details
.exists?(global_id, confidence_level_id, project_id) ⇒ Boolean
42 43 44 45 46 |
# File 'app/models/confidence.rb', line 42 def self.exists?(global_id, confidence_level_id, project_id) o = GlobalID::Locator.locate(global_id) return false unless o Confidence.where(project_id: project_id, confidence_object: o, confidence_level_id: confidence_level_id).first end |