Class: Api::V2::RackedTubeResource

Inherits:
BaseResource
  • Object
show all
Defined in:
app/resources/api/v2/racked_tube_resource.rb

Overview

Note:

Access this resource via the /api/v2/racked_tubes/ endpoint.

Provides a JSON:API representation of RackedTube.

A Racked Tube represents a tube placed within a specific coordinate of a tube rack. A RackedTube links a tube to a tube rack. It includes associations to the related tube and tube rack as well as the coordinate where the tube is placed.

For more details on JSON:API, see the JSON:API Specifications or check out the JSONAPI::Resources package for Sequencescape's implementation.

Examples:

GET request to retrieve all racked tubes

GET /api/v2/racked_tubes/

POST request to create a new racked tube

POST /api/v2/racked_tubes/
{
  "data": {
    "type": "racked_tubes",
    "attributes": {
      "coordinate": "A2"
    },
    "relationships": {
      "tube": {
        "data": {
          "type": "tubes",
          "id": 14
        }
      },
      "tube_rack": {
        "data": {
          "type": "tube_racks",
          "id": 19
        }
      }
    }
  }
}

Instance Attribute Summary collapse

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

#coordinateString

Note:

This attribute is write-once, it cannot be updated after creation.

The coordinate within the tube rack where the tube is located (e.g., “A1”).

Returns:

  • (String)


54
# File 'app/resources/api/v2/racked_tube_resource.rb', line 54

attribute :coordinate, write_once: true

#tubeTubeResource

The tube associated with the racked tube.

Returns:



63
# File 'app/resources/api/v2/racked_tube_resource.rb', line 63

has_one :tube

#tube_rackTubeRackResource

The rack that holds the tube.

Returns:



68
# File 'app/resources/api/v2/racked_tube_resource.rb', line 68

has_one :tube_rack