class Somemoji::EmojiExtractors::DownloadableEmojiExtractor

Public Instance Methods

extract() click to toggle source

@note Implementation for Somemoji::EmojiExtractors::BaseEmojiExtractor

# File lib/somemoji/emoji_extractors/downloadable_emoji_extractor.rb, line 8
def extract
  emojis.each do |emoji|
    download(emoji)
    print emoji.character unless silence?
  end
  puts unless silence?
end

Private Instance Methods

download(emoji) click to toggle source

@param emoji [Somemoji::Emoji] @return [Boolean]

# File lib/somemoji/emoji_extractors/downloadable_emoji_extractor.rb, line 20
def download(emoji)
  http = ::Net::HTTP.new(host, 443)
  http.use_ssl = true
  response = http.get(find_remote_emoji_path(emoji))
  if response.code == "200"
    ::FileUtils.mkdir_p("#{@destination}/unicode")
    ::File.write("#{@destination}/#{emoji.base_path}.#{extension}", response.body)
    true
  else
    false
  end
end
emojis() click to toggle source

@return [Enumerable]

# File lib/somemoji/emoji_extractors/downloadable_emoji_extractor.rb, line 34
def emojis
  raise ::NotImplementedError
end
extension() click to toggle source

@return [String]

# File lib/somemoji/emoji_extractors/downloadable_emoji_extractor.rb, line 39
def extension
  if @format == "svg"
    "svg"
  else
    "png"
  end
end
find_remote_emoji_path(emoji) click to toggle source

@param emoji [Somemoji::Emoji] @return [String]

# File lib/somemoji/emoji_extractors/downloadable_emoji_extractor.rb, line 49
def find_remote_emoji_path(emoji)
  raise ::NotImplementedError
end
host() click to toggle source

@return [String]

# File lib/somemoji/emoji_extractors/downloadable_emoji_extractor.rb, line 54
def host
  raise ::NotImplementedError
end