Method: Unicode::Blocks.block

Defined in:
lib/unicode/blocks.rb

.block(char) ⇒ Object



15
16
17
18
19
20
# File 'lib/unicode/blocks.rb', line 15

def self.block(char)
  require_relative 'blocks/index' unless defined? ::Unicode::Blocks::INDEX
  codepoint = char.unpack("U")[0] or raise(ArgumentError, "Unicode::Blocks.block must be given a valid char")
  block_info = INDEX[:BLOCKS].bsearch{ |block_info| codepoint <= block_info[1] }
  codepoint >= block_info[0] ? block_info[2] : "No_Block"
end