1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
require 'twitter/direct_message'
require 'twitter/streaming/deleted_tweet'
require 'twitter/streaming/event'
require 'twitter/streaming/friend_list'
require 'twitter/streaming/stall_warning'
require 'twitter/tweet'
module Twitter
module Streaming
class MessageParser
def self.parse(data) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
if data[:id]
Tweet.new(data)
elsif data[:event]
Event.new(data)
elsif data[:direct_message]
DirectMessage.new(data[:direct_message])
elsif data[:friends]
FriendList.new(data[:friends])
elsif data[:delete] && data[:delete][:status]
DeletedTweet.new(data[:delete][:status])
elsif data[:warning]
StallWarning.new(data[:warning])
end
end
end
end
end
|