class Emoju::Data

Constants

GEM_ROOT
VENDOR_DATA

Attributes

emoji_docomo_map[R]
emoji_google_map[R]
emoji_softbank_map[R]

Public Class Methods

new() click to toggle source
# File lib/emoju/data.rb, line 10
def initialize
  @emoji_docomo_map = {}
  @emoji_softbank_map = {}
  @emoji_google_map = {}

  raw_json = IO.read(File.join(GEM_ROOT, VENDOR_DATA))

  vendordata = JSON.parse( raw_json )

  vendordata.each do |emoji|
    @emoji_softbank_map[emoji["softbank"]] = emoji["unified"] if emoji["softbank"]
    @emoji_docomo_map[emoji["docomo"]] = emoji["unified"] if emoji["docomo"]
    @emoji_google_map[emoji["google"]] = emoji["unified"] if emoji["google"]
  end
end

Public Instance Methods

codepoint_regexp(codepoints) click to toggle source
# File lib/emoju/data.rb, line 46
def codepoint_regexp(codepoints)
  codepoints.split("-").map { |codepoint| "\\u\{#{codepoint}\}" }.join
end
emoji_docomo_regexp() click to toggle source
# File lib/emoju/data.rb, line 34
def emoji_docomo_regexp
  regexp_for(:google)
end
emoji_google_regexp() click to toggle source
# File lib/emoju/data.rb, line 30
def emoji_google_regexp
  regexp_for(:docomo)
end
emoji_softbank_regexp() click to toggle source
# File lib/emoju/data.rb, line 26
def emoji_softbank_regexp
  regexp_for(:softbank)
end
regexp_for(encoding) click to toggle source
# File lib/emoju/data.rb, line 38
def regexp_for(encoding)
  regexp = instance_variable_get("@emoji_#{encoding}_map".to_sym).keys.
    map { |codepoints| codepoint_regexp(codepoints) }.
    join("|")

  Regexp.new(regexp).freeze
end