Class: Unicoder::Builder::NumericValue

Inherits:
Object
  • Object
show all
Includes:
Unicoder::Builder
Defined in:
lib/unicoder/builders/numeric_value.rb

Instance Attribute Summary

Attributes included from Unicoder::Builder

#formats, #index, #option

Instance Method Summary collapse

Methods included from Unicoder::Builder

#assign, #assign_codepoint, build, #export, #initialize, #meta, #parse_file

Instance Method Details

#initialize_indexObject



6
7
8
9
10
# File 'lib/unicoder/builders/numeric_value.rb', line 6

def initialize_index
  @index = {
    NUMBERS: {},
  }
end

#parse!Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/unicoder/builders/numeric_value.rb', line 12

def parse!
  parse_file :unicode_data, :line, regex: /^(?<codepoint>.+?);(.*?;){7}(?<value>.*?);.*$/ do |line|
    unless line["value"].empty?
      if line["value"] =~ %r</>
        
        assign :NUMBERS, line["codepoint"].to_i(16), option =~ /stringfractions/ ? "#{line["value"]}" : line["value"].to_r
      else
        assign :NUMBERS, line["codepoint"].to_i(16), line["value"].to_i
      end
    end
  end

  parse_file :unihan_numeric_values, :line, regex: /^U\+(?<codepoint>\S+)\s+\S+\s+(?<value>\S+)$/ do |line|
    assign :NUMBERS, line["codepoint"].to_i(16), line["value"].to_i
  end
end