module ExtractionTokenUtil

Public Class Methods

LOCATION_REGEXP() click to toggle source
# File lib/extraction_token_util.rb, line 14
def self.LOCATION_REGEXP
  /^([A-H])(\d{1,2})$/
end
UUID_REGEXP() click to toggle source
# File lib/extraction_token_util.rb, line 2
def self.UUID_REGEXP
  /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
end
WILDCARD_REGEXP() click to toggle source
# File lib/extraction_token_util.rb, line 10
def self.WILDCARD_REGEXP
  /\?\w*/
end
fluidx_barcode_prefix() click to toggle source
# File lib/extraction_token_util.rb, line 6
def self.fluidx_barcode_prefix
  'F'
end
generate_positions(letters, columns) click to toggle source
# File lib/extraction_token_util.rb, line 48
def self.generate_positions(letters, columns)
  size=letters.size * columns.size
  location_for_position = size.times.map do |i|
    "#{letters[(i%letters.length).floor]}#{pad((columns[(i/letters.length).floor]).to_s,'0',2)}"
  end
end
is_uuid?(str) click to toggle source
# File lib/extraction_token_util.rb, line 18
def self.is_uuid?(str)
  str.kind_of?(String) && !str.match(ExtractionTokenUtil.UUID_REGEXP).nil?
end
is_valid_fluidx_barcode?(barcode) click to toggle source
# File lib/extraction_token_util.rb, line 27
def self.is_valid_fluidx_barcode?(barcode)
  barcode.to_s.start_with?(fluidx_barcode_prefix)
end
is_wildcard?(str) click to toggle source
# File lib/extraction_token_util.rb, line 35
def self.is_wildcard?(str)
  str.kind_of?(String) && !str.match(ExtractionTokenUtil.WILDCARD_REGEXP).nil?
end
kind_of_asset_id?(str) click to toggle source
# File lib/extraction_token_util.rb, line 39
def self.kind_of_asset_id?(str)
  !!(str.kind_of?(String) && (is_wildcard?(str) || is_uuid?(str)))
end
pad(str,chr,size) click to toggle source
# File lib/extraction_token_util.rb, line 55
def self.pad(str,chr,size)
  "#{(size-str.size).times.map{chr}.join('')}#{str}"
end
pad_location(location) click to toggle source
# File lib/extraction_token_util.rb, line 65
def self.pad_location(location)
  return location unless location
  parts = location.match(ExtractionTokenUtil.LOCATION_REGEXP)
  return nil if parts.length == 0
  letter = parts[1]
  number = parts[2]
  number = ExtractionTokenUtil.pad(number,"0",2) unless number.length == 2
  "#{letter}#{number}"
end
quote(str) click to toggle source
# File lib/extraction_token_util.rb, line 75
def self.quote(str)
  return str unless str
  "\"#{str}\""
end
quote_if_uuid(str) click to toggle source
# File lib/extraction_token_util.rb, line 22
def self.quote_if_uuid(str)
  return quote(str) if is_uuid?(str)
  return str
end
to_asset_group_name(wildcard) click to toggle source
# File lib/extraction_token_util.rb, line 43
def self.to_asset_group_name(wildcard)
  return wildcard if wildcard.nil?
  wildcard.gsub('?', '')
end
unpad_location(location) click to toggle source
# File lib/extraction_token_util.rb, line 59
def self.unpad_location(location)
  return location unless location
  loc = location.match(/(\w)(0*)(\d*)/)
  loc[1]+loc[3]
end
unquote(str) click to toggle source
# File lib/extraction_token_util.rb, line 80
def self.unquote(str)
  return str unless str
  str.gsub(/\"/,"")
end
uuid(str) click to toggle source
# File lib/extraction_token_util.rb, line 31
def self.uuid(str)
  str.match(ExtractionTokenUtil.UUID_REGEXP)[0]
end