Sha256: 5e23efabf9f5c7860f5fde9302580ee3cf5cdfaeee975743aa3fd27b32c2f317

Contents?: true

Size: 703 Bytes

Versions: 2

Compression:

Stored size: 703 Bytes

Contents

require 'multi_json'

module Weeter

  class TweetItem
    def initialize(tweet_hash)
      @tweet_hash = tweet_hash
    end

    def deletion?
      !@tweet_hash['delete'].nil?
    end

    def retweeted?
      !@tweet_hash['retweeted_status'].nil? || @tweet_hash['text'] =~ /^RT @/i
    end

    def reply?
      !@tweet_hash['in_reply_to_user_id_str'].nil? || @tweet_hash['text'] =~ /^@/
    end

    def publishable?
      !retweeted? && !reply?
    end

    def [](val)
      @tweet_hash[val]
    end

    def to_json
      MultiJson.encode(@tweet_hash)
    end

    def limiting_facets
      self['entities']['hashtags'].map do |tag|
        tag['text'].downcase.chomp
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
weeter-0.11.0 lib/weeter/twitter/tweet_item.rb
weeter-0.10.0 lib/weeter/twitter/tweet_item.rb