Sha256: 1d25b99338845bfe7e747d7c4a74f614d5eee8396e39952c6cb41f1e5166d2db
Contents?: true
Size: 1 KB
Versions: 1
Compression:
Stored size: 1 KB
Contents
# encoding: UTF-8 # Copyright 2012 Twitter, Inc # http://www.apache.org/licenses/LICENSE-2.0 require 'base64' module TwitterCldr module Segmentation class CategoryTable PACK_FMT_16 = 'NNn'.freeze class << self def load16(data) data = Base64.decode64(data) new( (0...data.size).step(10).map do |i| data[i...(i + 10)].unpack(PACK_FMT_16) end ) end end attr_reader :values def initialize(values) @values = values end def get(codepoint) find(codepoint)[2] end def dump16 data = ''.b.tap do |result| values.each do |vals| result << vals.pack(PACK_FMT_16) end end Base64.encode64(data) end private def find(codepoint) values.bsearch do |entry| next -1 if codepoint < entry[0] next 1 if codepoint > entry[1] 0 end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
twitter_cldr-5.2.0 | lib/twitter_cldr/segmentation/category_table.rb |