diff options
author | Valery Sizov <valery@gitlab.com> | 2015-12-24 11:24:03 +0000 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2015-12-24 11:24:03 +0000 |
commit | e622259d5be95ede9b4f52b0e654cdf0a7a4323f (patch) | |
tree | 5e9138018dbc3518749af62c729a8da8ea1a6733 /lib | |
parent | 75c3a2f89b52c7981326693b73b0ad8055a551e8 (diff) | |
parent | 09c5968fa3f94152b5f2767fded6adbd7ddc7032 (diff) | |
download | gitlab-ce-e622259d5be95ede9b4f52b0e654cdf0a7a4323f.tar.gz |
Merge branch 'emoji-picker-fix' into 'master'
Emoji picker: better alias handling
related to https://gitlab.com/gitlab-org/gitlab-ce/issues/3576
See merge request !2198
Diffstat (limited to 'lib')
-rw-r--r-- | lib/award_emoji.rb | 53 |
1 files changed, 17 insertions, 36 deletions
diff --git a/lib/award_emoji.rb b/lib/award_emoji.rb index 3825f4650be..783fcfb61ad 100644 --- a/lib/award_emoji.rb +++ b/lib/award_emoji.rb @@ -1,35 +1,4 @@ class AwardEmoji - ALIASES = { - pout: "rage", - satisfied: "laughing", - hankey: "shit", - poop: "shit", - collision: "boom", - thumbsup: "+1", - thumbsdown: "-1", - punch: "facepunch", - raised_hand: "hand", - running: "runner", - ng_woman: "no_good", - shoe: "mans_shoe", - tshirt: "shirt", - honeybee: "bee", - flipper: "dolphin", - paw_prints: "feet", - waxing_gibbous_moon: "moon", - telephone: "phone", - knife: "hocho", - envelope: "email", - pencil: "memo", - open_book: "book", - sailboat: "boat", - red_car: "car", - lantern: "izakaya_lantern", - uk: "gb", - heavy_exclamation_mark: "exclamation", - squirrel: "shipit" - }.with_indifferent_access - CATEGORIES = { other: "Other", objects: "Objects", @@ -46,17 +15,15 @@ class AwardEmoji }.with_indifferent_access def self.normilize_emoji_name(name) - ALIASES[name] || name + aliases[name] || name end def self.emoji_by_category unless @emoji_by_category @emoji_by_category = {} - emojis_added = [] - Emoji.emojis.each do |emoji_name, data| - next if emojis_added.include?(data["name"]) - emojis_added << data["name"] + emojis.each do |emoji_name, data| + data["name"] = emoji_name @emoji_by_category[data["category"]] ||= [] @emoji_by_category[data["category"]] << data @@ -67,4 +34,18 @@ class AwardEmoji @emoji_by_category end + + def self.emojis + @emojis ||= begin + json_path = File.join(Rails.root, 'fixtures', 'emojis', 'index.json' ) + JSON.parse(File.read(json_path)) + end + end + + def self.aliases + @aliases ||= begin + json_path = File.join(Rails.root, 'fixtures', 'emojis', 'aliases.json' ) + JSON.parse(File.read(json_path)) + end + end end |