Module: ExtractionTokenUtil
- Defined in:
- lib/extraction_token_util.rb
Class Method Summary collapse
- .fluidx_barcode_prefix ⇒ Object
- .generate_positions(letters, columns) ⇒ Object
- .is_uuid?(str) ⇒ Boolean
- .is_valid_fluidx_barcode?(barcode) ⇒ Boolean
- .is_wildcard?(str) ⇒ Boolean
- .kind_of_asset_id?(str) ⇒ Boolean
- .LOCATION_REGEXP ⇒ Object
- .pad(str, chr, size) ⇒ Object
- .pad_location(location) ⇒ Object
- .quote(str) ⇒ Object
- .quote_if_uuid(str) ⇒ Object
- .to_asset_group_name(wildcard) ⇒ Object
- .unpad_location(location) ⇒ Object
- .unquote(str) ⇒ Object
- .uuid(str) ⇒ Object
- .UUID_REGEXP ⇒ Object
- .WILDCARD_REGEXP ⇒ Object
Class Method Details
.fluidx_barcode_prefix ⇒ Object
6 7 8 |
# File 'lib/extraction_token_util.rb', line 6 def self. '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.() .to_s.start_with?() 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_REGEXP ⇒ Object
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_REGEXP ⇒ Object
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_REGEXP ⇒ Object
10 11 12 |
# File 'lib/extraction_token_util.rb', line 10 def self.WILDCARD_REGEXP /\?\w*/ end |