Class: Api::V2::PrimerPanelResource
- Inherits:
-
BaseResource
- Object
- JSONAPI::Resource
- BaseResource
- Api::V2::PrimerPanelResource
- Defined in:
- app/resources/api/v2/primer_panel_resource.rb
Overview
the below example is currently broken, as `snp_count`` is a required attribute in the model but it is not included in the resource.
Access this resource via the /api/v2/primer_panels/ endpoint.
This resource cannot be modified after creation: its endpoint will not accept PATCH requests.
Provides a JSON:API representation of PrimerPanel.
A primer panel is a set of primers used in a genotyping by sequencing assay. These primers bind to known regions of DNA, localised near SNPs (Single Nucleotide Polymorphisms) to allow them to be targeted by short read sequencing.
For more details on JSON:API, see the JSON:API Specifications or check out the JSONAPI::Resources package for Sequencescape's implementation.
Instance Attribute Summary collapse
-
#name ⇒ String
The name of the primer panel.
-
#programs ⇒ Array<String>
A list of programs associated with this primer panel.
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
#name ⇒ String
The name of the primer panel.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'app/resources/api/v2/primer_panel_resource.rb', line 47 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 |
#programs ⇒ Array<String>
A list of programs associated with this primer panel.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'app/resources/api/v2/primer_panel_resource.rb', line 52 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 |