Class: TagGroup

Inherits:
ApplicationRecord show all
Includes:
SharedBehaviour::Named, Uuid::Uuidable
Defined in:
app/models/tag_group.rb

Overview

rubocop:todo Style/Documentation

Defined Under Namespace

Classes: AdapterType, FormObject

Constant Summary collapse

CHROMIUM_ADAPTER_TYPE =
'Chromium'.freeze

Instance Method Summary collapse

Methods included from SharedBehaviour::Named

included

Methods included from Uuid::Uuidable

included, #unsaved_uuid!, #uuid

Methods inherited from ApplicationRecord

convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!

Methods included from Squishify

extended

Methods included from Warren::BroadcastMessages

#broadcast, included, #queue_associated_for_broadcast, #queue_for_broadcast, #warren

Instance Method Details

#adapter_type_nameObject


22
23
24
# File 'app/models/tag_group.rb', line 22

def adapter_type_name
  adapter_type.try(:name) || TagGroup::AdapterType::UNSPECIFIED
end

#adapter_type_name=(name) ⇒ Object


26
27
28
# File 'app/models/tag_group.rb', line 26

def adapter_type_name=(name)
  self.adapter_type = TagGroup::AdapterType.find_by!(name: name)
end

#indexed_tagsObject

Returns a Hash that maps from the tag index in the group to the oligo sequence for the tag


31
32
33
# File 'app/models/tag_group.rb', line 31

def indexed_tags
  tags.map { |tag| [tag.map_id, tag.oligo] }.to_h
end

#tags_sorted_by_map_idObject


18
19
20
# File 'app/models/tag_group.rb', line 18

def tags_sorted_by_map_id
  tags.sort_by(&:map_id)
end