Class: Stringprep::Table::Map

Inherits:
Base
  • Object
show all
Defined in:
lib/stringprep/table/map.rb

Instance Method Summary collapse

Methods inherited from Base

create_read_only

Constructor Details

#initialize(data) ⇒ Map

Returns a new instance of Map.



6
7
8
# File 'lib/stringprep/table/map.rb', line 6

def initialize(data)
  @codes = Map.parse(data)
end

Instance Method Details

#map(code) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/stringprep/table/map.rb', line 10

def map(code)
  if string_char = ((code.is_a?(String)) && (code.length == 1))
    code = code.unpack('U')[0]
  end
  return unless code.class < Integer
  new_code = @codes[code] || code
  if string_char
    if new_code.is_a?(Array)
      new_code = new_code.pack('U*')
    else
      new_code = [new_code].pack('U') if !new_code.nil?
    end
  end
  new_code
end