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