1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
module Gemojione
class Index
def initialize(emoji_list=nil)
emoji_list ||= begin
if File.exist?(File.absolute_path('/usr/share/ruby-gemojione/config/index.json'))
# For usage after installation
emoji_json = File.read(File.absolute_path('/usr/share/ruby-gemojione/config/index.json'))
else
# For running tests in Debian
emoji_json = File.read(File.absolute_path(File.dirname(__FILE__) + '../../../../../share/ruby-gemojione/config/index.json'))
end
JSON.parse(emoji_json)
end
@emoji_by_name = {}
@emoji_by_moji = {}
emoji_list.each do |key, emoji_hash|
emoji_hash["description"] = emoji_hash["name"]
emoji_hash["name"] = key
@emoji_by_name[key] = emoji_hash if key
emoji_hash["aliases"].each do |emoji_alias|
aliased = emoji_alias.tr(':','')
@emoji_by_name[aliased] = emoji_hash if aliased
end
moji = emoji_hash['moji']
@emoji_by_moji[moji] = emoji_hash if moji
end
@emoji_moji_regex = /#{@emoji_by_moji.keys.join('|')}/
end
def find_by_moji(moji)
@emoji_by_moji[moji]
end
def find_by_name(name)
@emoji_by_name[name]
end
def unicode_moji_regex
@emoji_moji_regex
end
def images_path
File.absolute_path(File.dirname(__FILE__) + '../../../../../share/ruby-gemojione/assets/images')
end
end
end
|