class EmojiManager

Constants

CACHE_DIRECTORY

Attributes

categories[R]

Public Class Methods

new() click to toggle source
# File lib/emojidex-desktop/emoji_manager.rb, line 12
def initialize
  @converter = Emojidex::Converter.new
  @utf = Emojidex::UTF.new
  @categories = @utf.categories
  @picts = {}                   # { String => Gdk::Pixbuf }
  @reverse_lookup = {}
  @mutex = Mutex.new
end

Public Instance Methods

all_emojis() click to toggle source
# File lib/emojidex-desktop/emoji_manager.rb, line 41
def all_emojis
  return @utf.to_a
end
emojify_each(str) { |item| ... } click to toggle source
# File lib/emojidex-desktop/emoji_manager.rb, line 36
def emojify_each(str)
  return to_enum(:emojify_each) unless block_given?
  @utf.emojify_each(str) {|item| yield item }
end
get_picture(emoji_name) click to toggle source

create & load pictures

# File lib/emojidex-desktop/emoji_manager.rb, line 22
def get_picture(emoji_name)
  unless @picts[emoji_name]
    @mutex.synchronize do
      @converter.convert_from_name! @utf, CACHE_DIRECTORY,
        emoji_name, { :size => :mdpi }
      emoji = @utf.where_name(emoji_name)
      pict = Gdk::Pixbuf.new(emoji.image_paths[0])
      @picts[emoji_name] = pict
      @reverse_lookup[pict] = emoji
    end
  end
  @picts[emoji_name]
end
pic2emoji(pict) click to toggle source
# File lib/emojidex-desktop/emoji_manager.rb, line 45
def pic2emoji(pict)
  return @reverse_lookup[pict]
end