Class: Api::V2::WellResource
- Inherits:
-
BaseResource
- Object
- JSONAPI::Resource
- BaseResource
- Api::V2::WellResource
- Includes:
- SharedBehaviour::Receptacle
- Defined in:
- app/resources/api/v2/well_resource.rb
Overview
Well attributes here are defined in SharedBehaviour::Receptacle
Provides a JSON:API representation of Well.
A Well is a Receptacle on a Plate, it can contain one or more aliquots. A plate may have multiple wells, with the two most common sizes being 128 (96) and 2426 (384). The wells are differentiated via their Map which corresponds to a row and column. Most well locations are identified by a letter-number combination, eg. A1, H12.
Access this resource via the /api/v2/wells/ endpoint.
For more information about JSON:API, see the JSON:API Specifications or look at the JSONAPI::Resources package for Sequencescape's implementation of the JSON:API standard.
Instance Attribute Summary collapse
-
#poly_metadata ⇒ PolyMetadatumResource
readonly
The associated metadata for the well.
- #position ⇒ Object readonly
Method Summary
Methods inherited from BaseResource
apply_includes, creatable_fields, default_includes, #fetchable_fields, inclusions, resolve_relationship_names_to_relations, updatable_fields
Instance Attribute Details
#poly_metadata ⇒ PolyMetadatumResource (readonly)
This is a one-to-many relationship, where a well can have multiple pieces of metadata.
The poly_metadata must already exist in the database before it can be associated with a Well.
Returns The associated metadata for the well.
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'app/resources/api/v2/well_resource.rb', line 86 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 |
#position ⇒ Object (readonly)
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'app/resources/api/v2/well_resource.rb', line 75 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 |