Skip to content

Commit a586515

Browse files
committed
Add Emoji::Character#skin_tones?
1 parent 03dea3b commit a586515

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

lib/emoji.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ def parse_data_file
118118
emoji.description = dedup.call(raw_emoji[:description])
119119
emoji.unicode_version = dedup.call(raw_emoji[:unicode_version])
120120
emoji.ios_version = dedup.call(raw_emoji[:ios_version])
121+
emoji.skin_tones = raw_emoji.fetch(:skin_tones, false)
121122
end
122123
end
123124
end

lib/emoji/character.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ def self.hex_inspect(str)
1111
# True if the emoji is not a standard Emoji character.
1212
def custom?() !raw end
1313

14+
# True if the emoji supports Fitzpatrick scale skin tone modifiers
15+
def skin_tones?() @skin_tones end
16+
17+
attr_writer :skin_tones
18+
1419
# A list of names uniquely referring to this emoji.
1520
attr_reader :aliases
1621

@@ -54,6 +59,7 @@ def initialize(name)
5459
@aliases = Array(name)
5560
@unicode_aliases = []
5661
@tags = []
62+
@skin_tones = false
5763
end
5864

5965
def inspect

test/emoji_test.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,14 @@ class EmojiTest < TestCase
153153
assert_equal '8.3', emoji.ios_version
154154
end
155155

156+
test "skin tones" do
157+
smiley = Emoji.find_by_alias("smiley")
158+
assert_equal false, smiley.skin_tones?
159+
160+
wave = Emoji.find_by_alias("wave")
161+
assert_equal true, wave.skin_tones?
162+
end
163+
156164
test "no custom emojis" do
157165
custom = Emoji.all.select(&:custom?)
158166
assert 0, custom.size

0 commit comments

Comments
 (0)