class Somemoji::EmojiExtractors::AppleEmojiExtractor

Constants

IMAGE_SIZE

Public Instance Methods

extract() click to toggle source

@note Implementation for Somemoji::EmojiExtractors::BaseEmojiExtractor

# File lib/somemoji/emoji_extractors/apple_emoji_extractor.rb, line 11
def extract
  extract_images_into_temporary_directory
  extracted_image_paths.map do |image_path|
    if emoji = emoji_table[::File.basename(image_path, ".png").split("-")]
      ::FileUtils.mkdir_p("#{@destination}/unicode")
      ::FileUtils.move(
        image_path,
        "#{@destination}/#{emoji.base_path}.png",
      )
    end
  end
end

Private Instance Methods

emoji_table() click to toggle source
# File lib/somemoji/emoji_extractors/apple_emoji_extractor.rb, line 26
def emoji_table
  @emoji_table ||= ::Somemoji.emoji_collection.each_with_object({}) do |emoji, object|
    object[emoji.abbreviated_code_points] = emoji
  end
end
extract_images_into_temporary_directory() click to toggle source
# File lib/somemoji/emoji_extractors/apple_emoji_extractor.rb, line 32
def extract_images_into_temporary_directory
  ::Emoji::Extractor.new(IMAGE_SIZE, temporary_directory_path).extract!
end
extracted_image_paths() click to toggle source
# File lib/somemoji/emoji_extractors/apple_emoji_extractor.rb, line 36
def extracted_image_paths
  ::Dir.glob("#{temporary_directory_path}/unicode/*.png")
end
temporary_directory_path() click to toggle source
# File lib/somemoji/emoji_extractors/apple_emoji_extractor.rb, line 40
def temporary_directory_path
  @temporary_directory_path ||= ::Dir.tmpdir
end