Sha256: 1d69c4b24601fb42a5b175c75687967fd1f3520292c8dd9012b342c13c19fbbf

Contents?: true

Size: 1.41 KB

Versions: 2

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

# Tanuki Emoji
module TanukiEmoji
  autoload :VERSION, './lib/tanuki_emoji/version'
  autoload :Error, './lib/tanuki_emoji/errors'
  autoload :AlphaCodeAlreadyIndexedError, './lib/tanuki_emoji/errors'
  autoload :CodepointAlreadyIndexedError, './lib/tanuki_emoji/errors'
  autoload :Index, './lib/tanuki_emoji/index'
  autoload :Character, './lib/tanuki_emoji/character'
  autoload :Db, './lib/tanuki_emoji/db'

  # Find an Emoji by its :alpha_code:
  #
  # @param [String] alpha_code
  # @return [TanukiEmoji::Character]
  def self.find_by_alpha_code(alpha_code)
    index.find_by_alpha_code(alpha_code)
  end

  # Find an Emoji by its Unicode representation
  #
  # @param [String] unicode_codepoints
  # @return [TanukiEmoji::Character]
  def self.find_by_codepoints(unicode_codepoints)
    index.find_by_codepoints(unicode_codepoints)
  end

  # Index contains all known emojis
  #
  # @return [Array<TanukiEmoji::Character>]
  def self.index
    TanukiEmoji::Index.instance
  end

  # Add a new Emoji to the index
  #
  # @param [String] name
  # @param [String] codepoints
  # @param [String] alpha_code
  def self.add(name, codepoints:, alpha_code:, description:)
    emoji = Character.new(name, codepoints: codepoints, alpha_code: alpha_code, description: description)

    index.add(emoji)
  end

  def self.images_path
    File.expand_path(File.join(__dir__, "../app/assets/images/tanuki_emoji"))
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tanuki_emoji-0.2.1 lib/tanuki_emoji.rb
tanuki_emoji-0.2.0 lib/tanuki_emoji.rb