Module: ExtractionTokenUtil

Defined in:
lib/extraction_token_util.rb

Class Method Summary collapse

Class Method Details

.fluidx_barcode_prefixObject



6
7
8
# File 'lib/extraction_token_util.rb', line 6

def self.fluidx_barcode_prefix
  'F'
end

.generate_positions(letters, columns) ⇒ Object



48
49
50
51
52
53
# 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) ⇒ Boolean



18
19
20
# 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) ⇒ Boolean



27
28
29
# 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) ⇒ Boolean



35
36
37
# 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) ⇒ Boolean



39
40
41
# 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

.LOCATION_REGEXPObject



14
15
16
# File 'lib/extraction_token_util.rb', line 14

def self.LOCATION_REGEXP
  /^([A-H])(\d{1,2})$/
end

.pad(str, chr, size) ⇒ Object



55
56
57
# 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) ⇒ Object



65
66
67
68
69
70
71
72
73
# 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) ⇒ Object



75
76
77
78
# File 'lib/extraction_token_util.rb', line 75

def self.quote(str)
  return str unless str
  "\"#{str}\""
end

.quote_if_uuid(str) ⇒ Object



22
23
24
25
# 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) ⇒ Object



43
44
45
46
# 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) ⇒ Object



59
60
61
62
63
# 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) ⇒ Object



80
81
82
83
# File 'lib/extraction_token_util.rb', line 80

def self.unquote(str)
  return str unless str
  str.gsub(/\"/,"")
end

.uuid(str) ⇒ Object



31
32
33
# File 'lib/extraction_token_util.rb', line 31

def self.uuid(str)
  str.match(ExtractionTokenUtil.UUID_REGEXP)[0]
end

.UUID_REGEXPObject



2
3
4
# 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_REGEXPObject



10
11
12
# File 'lib/extraction_token_util.rb', line 10

def self.WILDCARD_REGEXP
  /\?\w*/
end