Module: Twitter::REST::PremiumSearch

Included in:
API
Defined in:
lib/twitter/rest/premium_search.rb

Overview

Methods for Premium Search API

Constant Summary collapse

MAX_TWEETS_PER_REQUEST =

Maximum tweets per request

100

Instance Method Summary collapse

Instance Method Details

#premium_search(query, options = {}, request_config = {}) ⇒ Twitter::PremiumSearchResults

Returns tweets from the Premium API that match a specified query

Examples:

client.premium_search('twitter')

Parameters:

  • query (String)

    A search term.

  • options (Hash) (defaults to: {})

    A customizable set of options.

  • request_config (Hash) (defaults to: {})

    Request configuration options.

Options Hash (options):

  • :tag (String)

    Tags for segregating rules into logical groups.

  • :maxResults (Integer)

    The maximum number of search results.

  • :fromDate (String)

    The oldest UTC timestamp.

  • :toDate (String)

    The latest UTC timestamp.

Options Hash (request_config):

  • :product (String)

    The search endpoint (30day or fullarchive).

Returns:

Raises:

See Also:



28
29
30
31
32
33
34
35
36
# File 'lib/twitter/rest/premium_search.rb', line 28

def premium_search(query, options = {}, request_config = {})
  options = options.clone
  options[:maxResults] ||= MAX_TWEETS_PER_REQUEST # steep:ignore UnresolvedOverloading
  request_config[:request_method] = :json_post if request_config[:request_method].nil? || request_config.fetch(:request_method) == :post
  request_config[:product] ||= "30day"
  path = "/1.1/tweets/search/#{request_config.fetch(:product)}/#{dev_environment}.json" # steep:ignore NoMethod
  request = Request.new(self, request_config.fetch(:request_method), path, options.merge(query:)) # steep:ignore NoMethod
  PremiumSearchResults.new(request, request_config)
end