Class: CaTissue::SpecimenArray

Inherits:
Object
  • Object
show all
Includes:
Resource
Defined in:
lib/catissue/domain/specimen_array.rb

Instance Method Summary collapse

Methods included from Resource

#database, included, #tolerant_match?

Methods included from Annotatable

#annotation_proxy, #create_proxy, #method_missing

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class CaTissue::Annotatable

Instance Method Details

#add(storable, coordinate = nil, attribute = nil) ⇒ Object Also known as: <<

Raises NotImplementedError since caTissue SpecimenArray is broken in important ways described below.

caTissue alert - SpecimenArray is a subclass of Container but is a mismatch for Container in two critical ways:

  • SpecimenArray does not hold subcontainers in Container occupied_positions

  • the Specimen position cannot be a SpecimenArrayContent

  • SpecimenArrayContent is not an AbstractPosition, although it should be

Thus, SpecimenArray extends Container although it shouldn’t and SpecimenArrayContent doesn’t extend AbstractPosition although it should.

Raises:

  • (NotImplementedError)


42
43
44
# File 'lib/catissue/domain/specimen_array.rb', line 42

def add(storable, coordinate=nil, attribute=nil)
  raise NotImplementedError.new("Adding specimens to a SpecimenArray is not yet supported")
end

#specimen_array_type=(type) ⇒ Object

Initializes this instance’s child storage types from the given type.

Parameters:



16
17
18
19
20
21
22
# File 'lib/catissue/domain/specimen_array.rb', line 16

def specimen_array_type=(type)
  setSpecimenArrayType(type)
  unless type.nil? then
    copy_container_type_capacity
  end
  type
end