class EmojiDiffer::List
Attributes
parsed[R]
Public Class Methods
from_json(json)
click to toggle source
# File lib/emoji_differ/list.rb, line 12 def self.from_json(json) new.parse(json) end
new(emoji=nil)
click to toggle source
# File lib/emoji_differ/list.rb, line 8 def initialize(emoji=nil) @emojis = emoji end
Public Instance Methods
-(other)
click to toggle source
# File lib/emoji_differ/list.rb, line 27 def -(other) other_names = other.emojis.to_a.map(&:name) self.class.new(emojis.reject {|emoji| other_names.include?(emoji.name) }) end
each() { |emoji| ... }
click to toggle source
# File lib/emoji_differ/list.rb, line 21 def each emojis.each do |emoji| yield emoji end end
emojis()
click to toggle source
# File lib/emoji_differ/list.rb, line 40 def emojis @emojis ||= transform end
length()
click to toggle source
# File lib/emoji_differ/list.rb, line 32 def length emojis.length end
parse(json)
click to toggle source
# File lib/emoji_differ/list.rb, line 44 def parse(json) @parsed = JSON.parse(json) self end
to_json()
click to toggle source
# File lib/emoji_differ/list.rb, line 36 def to_json JSON.generate(parsed) #cheeky eh end
to_s()
click to toggle source
# File lib/emoji_differ/list.rb, line 16 def to_s collection = emojis.map(&:to_s).join(" ") "#{collection}\n Total: #{length}" end
Private Instance Methods
timestamp()
click to toggle source
# File lib/emoji_differ/list.rb, line 53 def timestamp parsed['cache_ts'].to_f end
transform()
click to toggle source
# File lib/emoji_differ/list.rb, line 57 def transform parsed['emoji'].map { |name, picture_link| EmojiDiffer::Emoji.new(name, picture_link, timestamp) } end