Module: TwitterFriendly::REST::Search

Included in:
API
Defined in:
lib/twitter_friendly/rest/search.rb

Constant Summary collapse

MAX_TWEETS_PER_REQUEST =
100

Instance Method Summary collapse

Instance Method Details

#search(query, options = {}) ⇒ Object

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/twitter_friendly/rest/search.rb', line 7

def search(query, options = {})
  raise ArgumentError.new('You must specify a search query.') unless query.is_a?(String)
  options = {result_type: 'recent'}.merge(options)

  if options[:count] <= MAX_TWEETS_PER_REQUEST
    # max_id で次のツイートを取得するので、このメソッドでは statuses を返してよい。
    # 逆に、cursor で次のツイートを取得するメソッドでは、レスポンス全体を返す必要がある。
    @twitter.search(query, options)&.attrs&.fetch(:statuses)
  else
    fetch_tweets_with_max_id(__method__, MAX_TWEETS_PER_REQUEST, query, options)
  end
end