Class: Ucode::Commands::LookupCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/ucode/commands/lookup.rb

Overview

‘ucode lookup` — read-only lookups against the SQLite cache and the output JSON tree. Three subactions: block, script, char.

Instance Method Summary collapse

Instance Method Details

#lookup_block(version_intent, codepoint:) ⇒ BlockResult

Parameters:

  • version_intent (nil, :default, :latest, String)
  • codepoint (Integer)

Returns:

  • (BlockResult)


23
24
25
26
27
# File 'lib/ucode/commands/lookup.rb', line 23

def lookup_block(version_intent, codepoint:)
  version = VersionResolver.resolve(version_intent)
  with_db(version) { |db| db.lookup_block(codepoint) }
    .then { |block| BlockResult.new(codepoint: codepoint, block: block) }
end

#lookup_char(version_intent, codepoint:, output_root:) ⇒ CharResult

Parameters:

  • version_intent (nil, :default, :latest, String)
  • codepoint (Integer)
  • output_root (String, Pathname)

Returns:

  • (CharResult)


42
43
44
45
46
47
# File 'lib/ucode/commands/lookup.rb', line 42

def lookup_char(version_intent, codepoint:, output_root:)
  version = VersionResolver.resolve(version_intent)
  block_id = with_db(version) { |db| db.lookup_block(codepoint) }
  glyph = block_id ? glyph_path(output_root, block_id, codepoint) : nil
  CharResult.new(codepoint: codepoint, block_id: block_id, glyph_path: glyph)
end

#lookup_script(version_intent, codepoint:) ⇒ ScriptResult

Parameters:

  • version_intent (nil, :default, :latest, String)
  • codepoint (Integer)

Returns:

  • (ScriptResult)


32
33
34
35
36
# File 'lib/ucode/commands/lookup.rb', line 32

def lookup_script(version_intent, codepoint:)
  version = VersionResolver.resolve(version_intent)
  with_db(version) { |db| db.lookup_script(codepoint) }
    .then { |script| ScriptResult.new(codepoint: codepoint, script: script) }
end