lib/catissue/domain/specimen_position.rb
def saver_proxy
      # Look for a transfer event that matches the position.
      xfr = specimen.event_parameters.detect do |sep|
        CaTissue::TransferEventParameters === sep and sep.to == location
      end
      # Create a new transfer event, if necessary.
      xfr ||= CaTissue::TransferEventParameters.new(:specimen => specimen, :to => location)
      # If this position changed, then copy the original position to the transfer event from attributes.
      if snapshot and changed? then
        xfr.from_storage_container = snapshot[:storage_container]
        xfr.from_position_dimension_one = snapshot[:position_dimension_one]
        xfr.from_position_dimension_two = snapshot[:position_dimension_two]
      end
      xfr
    end
def saver_proxy
      # Look for a transfer event that matches the position.
      xfr = specimen.event_parameters.detect do |sep|
        CaTissue::TransferEventParameters === sep and sep.to == location
      end
      # Create a new transfer event, if necessary.
      xfr ||= CaTissue::TransferEventParameters.new(:specimen => specimen, :to => location)
      # If this position changed, then copy the original position to the transfer event from attributes.
      if snapshot and changed? then
        xfr.from_storage_container = snapshot[:storage_container]
        xfr.from_position_dimension_one = snapshot[:position_dimension_one]
        xfr.from_position_dimension_two = snapshot[:position_dimension_two]
      end
      xfr
    end
def saver_proxy # Look for a transfer event that matches the position. xfr = specimen . event_parameters . detect do | sep | CaTissue :: TransferEventParameters === sep and sep . to == location end # Create a new transfer event, if necessary. xfr ||= CaTissue :: TransferEventParameters . new ( :specimen => specimen , :to => location ) # If this position changed, then copy the original position to the transfer event from attributes. if snapshot and changed? then xfr . from_storage_container = snapshot [ :storage_container ] xfr . from_position_dimension_one = snapshot [ :position_dimension_one ] xfr . from_position_dimension_two = snapshot [ :position_dimension_two ] end xfr end
Returns a TransferEventParameters which serves as a proxy for saving this SpecimenPosition.

 @quirk caTissue caTissue does not allow saving a SpecimenPosition directly in the database.
   Creating a TransferEventParameters sets the SpecimenPosition as a side-effect. Therefore,
   SpecimenPosition save is accomplished by creating a proxy TransferEventParameters instead.
Returns a TransferEventParameters which serves as a proxy for saving this SpecimenPosition .