Class: Sunpass::TransponderParser

Inherits:
Object
  • Object
show all
Defined in:
lib/sunpass/transponder_parser.rb

Constant Summary collapse

ROW_HINT_REGEX =
/\b(active|inactive|lost|stolen|damaged|closed|pending|plate|vehicle|transponder|tag)\b/i
STATUS_REGEX =
/\b(active|inactive|lost|stolen|damaged|closed|pending)\b/i
SERIAL_LABEL_REGEX =
/(?:transponder|serial)(?:\s+number)?\s*[:#]?\s*([A-Z0-9-]{6,})/i
TAG_LABEL_REGEX =
/tag\s*#?\s*[:#]?\s*([A-Z0-9-]{6,})/i
PLATE_REGEX =
/(?:plate|license(?:\s+plate)?)\s*[:#]?\s*([A-Z0-9-]{2,})/i
FRIENDLY_NAME_REGEX =
/(?:friendly\s+name|name)\s*[:#]?\s*(.+?)(?=\s+(?:plate|license|status|transponder|serial|type)\b|$)/i
TYPE_REGEX =
/(?:type|transponder\s+type)\s*[:#]?\s*(.+?)(?=\s+(?:plate|license|status|friendly\s+name|name|transponder|serial)\b|$)/i
SERIAL_TOKEN_REGEX =
/\b[A-Z0-9]{6,}\b/

Instance Method Summary collapse

Instance Method Details

#parse_records(raw_records) ⇒ Object



18
19
20
# File 'lib/sunpass/transponder_parser.rb', line 18

def parse_records(raw_records)
  raw_records.map { |record| parse_record(record) }.compact
end

#parse_rows(raw_rows) ⇒ Object



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

def parse_rows(raw_rows)
  raw_rows.map { |text| parse_row(text) }.compact
end