Sha256: 373e23e0575d6a1fd22eb3d992f2839f90dc1ff8cd6cebe5fbeb4be2c3385cd2

Contents?: true

Size: 835 Bytes

Versions: 8

Compression:

Stored size: 835 Bytes

Contents

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 CyclomaticComplexity, 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

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
twitter-6.1.0 lib/twitter/streaming/message_parser.rb
twitter-6.0.0 lib/twitter/streaming/message_parser.rb
twitter-5.17.0 lib/twitter/streaming/message_parser.rb
twitter-5.16.0 lib/twitter/streaming/message_parser.rb
twitter-5.15.0 lib/twitter/streaming/message_parser.rb
twitter-5.14.0 lib/twitter/streaming/message_parser.rb
twitter-5.13.0 lib/twitter/streaming/message_parser.rb
twitter-5.12.0 lib/twitter/streaming/message_parser.rb