class Postycode
The main Postycode
driver
Public Class Methods
parse(argv)
click to toggle source
Converts code point ranges in ARGV to final string
# File lib/postycode.rb, line 13 def self.parse(argv) escaped_syms = String.new argv.each do |arg| range = arg.scan(/[0-9A-Fa-f]{4}/) if range.count == 2 # If given a range instead of an individual code point range = (range[0].hex..range[1].hex).to_a # 00AB-00AD -> [171, 172, 173] range.collect! { |num| num.to_s(16).rjust(4, '0') } # e.g., 172 -> 00ac end range.collect! { |num| num.prepend('\u') } # e.g., 00ac -> \u00ac escaped_syms << range.join end escaped_syms end