class Emoji::Character

Attributes

aliases[R]

A list of names uniquely referring to this emoji.

category[RW]

The category for this emoji as per Apple's character palette

description[RW]

The Unicode description text

image_filename[W]
ios_version[RW]

The iOS version where this emoji first debuted

tags[R]

A list of tags associated with an emoji. Multiple emojis can share the same tags.

unicode_aliases[R]

A list of Unicode strings that uniquely refer to this emoji.

unicode_version[RW]

The Unicode spec version where this emoji first debuted

Public Class Methods

hex_inspect(str) click to toggle source

Inspect individual Unicode characters in a string by dumping its codepoints in hexadecimal format.

# File lib/emoji/character.rb, line 5
def self.hex_inspect(str)
  str.codepoints.map { |c| c.to_s(16).rjust(4, '0') }.join('-')
end
new(name) click to toggle source
# File lib/emoji/character.rb, line 51
def initialize(name)
  @aliases = Array(name)
  @unicode_aliases = []
  @tags = []
end

Public Instance Methods

add_alias(name) click to toggle source
# File lib/emoji/character.rb, line 29
def add_alias(name)
  aliases << name
end
add_tag(tag) click to toggle source
# File lib/emoji/character.rb, line 47
def add_tag(tag)
  tags << tag
end
add_unicode_alias(str) click to toggle source
# File lib/emoji/character.rb, line 39
def add_unicode_alias(str)
  unicode_aliases << str
end
custom?() click to toggle source

True if the emoji is not a standard Emoji character.

# File lib/emoji/character.rb, line 10
def custom?() !raw end
hex_inspect() click to toggle source
# File lib/emoji/character.rb, line 62
def hex_inspect
  self.class.hex_inspect(raw)
end
image_filename() click to toggle source
# File lib/emoji/character.rb, line 68
def image_filename
  if defined? @image_filename
    @image_filename
  else
    default_image_filename
  end
end
inspect() click to toggle source
# File lib/emoji/character.rb, line 57
def inspect
  hex = '(%s)' % hex_inspect unless custom?
  %(#<#{self.class.name}:#{name}#{hex}>)
end
name() click to toggle source
# File lib/emoji/character.rb, line 27
def name() aliases.first end
raw() click to toggle source

Raw Unicode string for an emoji. Nil if emoji is non-standard.

# File lib/emoji/character.rb, line 37
def raw() unicode_aliases.first end

Private Instance Methods

default_image_filename() click to toggle source
# File lib/emoji/character.rb, line 78
def default_image_filename
  if custom?
    '%s.png' % name
  else
    hex_name = hex_inspect.gsub(/-(fe0f|200d)\b/, '')
    'unicode/%s.png' % hex_name
  end
end