Skip to content
Snippets Groups Projects

Update support for Unicode 15.1

Merged Brett Walker requested to merge 28-update-support-for-unicode-16-0 into main
7 unresolved threads
17 files
+ 428
71
Compare changes
  • Side-by-side
  • Inline
Files
17
+ 43
0
 
# frozen_string_literal: true
 
 
require 'json'
 
 
module TanukiEmoji
 
module Db
 
# Reads and adds aliases from additional_aliases.json
 
class AdditionalAliases
 
DATA_FILE = 'vendor/additional_aliases.json'
 
 
def self.data_file
 
File.expand_path(File.join(__dir__, '../../../', DATA_FILE))
 
end
 
 
attr_reader :data_file
 
 
def initialize(index:, data_file: self.class.data_file)
 
@data_file = data_file
 
@index = index
 
end
 
 
def load!
 
db = File.open(data_file, 'r:UTF-8') do |file|
 
JSON.parse(file.read, symbolize_names: true)
 
end
 
 
db.each do |_alpha_code, emoji_data|
 
emoji = @index.find_by_codepoints(emoji_data[:emoji])
 
 
next unless emoji
 
 
emoji_data[:aliases].each do |code|
 
emoji.add_alias(code)
 
end
 
 
emoji.noto_image = emoji_data[:noto_image] if emoji_data[:noto_image]
 
 
@index.update(emoji)
 
end
 
end
 
end
 
end
 
end
Loading