Module: Twitter::REST::Favorites

Includes:
Utils, Utils
Included in:
API
Defined in:
lib/twitter/rest/favorites.rb

Constant Summary

Constants included from Utils

Utils::DEFAULT_CURSOR, Utils::URI_SUBSTRING

Instance Method Summary collapse

Methods included from Utils

flat_pmap, pmap

Instance Method Details

#favorite(*tweets) ⇒ Array<Twitter::Tweet> #favorite(*tweets, options) ⇒ Array<Twitter::Tweet> Also known as: fav, fave

Favorites the specified Tweets as the authenticating user

Overloads:

  • #favorite(*tweets) ⇒ Array<Twitter::Tweet>

    Parameters:

  • #favorite(*tweets, options) ⇒ Array<Twitter::Tweet>

    Parameters:

    • tweets (Enumerable<Integer, String, URI, Twitter::Tweet>)

      A collection of Tweet IDs, URIs, or objects.

    • options (Hash)

      A customizable set of options.

Returns:

Raises:

See Also:

Rate Limited?:

  • No

Authentication:

  • Requires user context



68
69
70
71
72
73
74
75
76
77
# File 'lib/twitter/rest/favorites.rb', line 68

def favorite(*args)
  arguments = Twitter::Arguments.new(args)
  pmap(arguments) do |tweet|
    begin
      perform_post_with_object('/1.1/favorites/create.json', arguments.options.merge(:id => extract_id(tweet)), Twitter::Tweet)
    rescue Twitter::Error::AlreadyFavorited, Twitter::Error::NotFound
      next
    end
  end.compact
end

#favorite!(*tweets) ⇒ Array<Twitter::Tweet> #favorite!(*tweets, options) ⇒ Array<Twitter::Tweet> Also known as: create_favorite!, fav!, fave!

Favorites the specified Tweets as the authenticating user and raises an error if one has already been favorited

Overloads:

  • #favorite!(*tweets) ⇒ Array<Twitter::Tweet>

    Parameters:

  • #favorite!(*tweets, options) ⇒ Array<Twitter::Tweet>

    Parameters:

    • tweets (Enumerable<Integer, String, URI, Twitter::Tweet>)

      A collection of Tweet IDs, URIs, or objects.

    • options (Hash)

      A customizable set of options.

Returns:

Raises:

See Also:

Rate Limited?:

  • No

Authentication:

  • Requires user context



96
97
98
99
100
101
# File 'lib/twitter/rest/favorites.rb', line 96

def favorite!(*args)
  arguments = Twitter::Arguments.new(args)
  pmap(arguments) do |tweet|
    perform_post_with_object('/1.1/favorites/create.json', arguments.options.merge(:id => extract_id(tweet)), Twitter::Tweet)
  end
end

#favorites(options = {}) ⇒ Array<Twitter::Tweet> #favorites(user, options = {}) ⇒ Array<Twitter::Tweet>

Returns favorite Tweets.

Overloads:

  • #favorites(options = {}) ⇒ Array<Twitter::Tweet>

    Returns the 20 most recent favorite Tweets for the authenticating user

    Parameters:

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

      A customizable set of options.

    Options Hash (options):

    • :count (Integer)

      Specifies the number of records to retrieve. Must be less than or equal to 100.

    • :since_id (Integer)

      Returns results with an ID greater than (that is, more recent than) the specified ID.

  • #favorites(user, options = {}) ⇒ Array<Twitter::Tweet>

    Returns the 20 most recent favorite Tweets for the specified user

    Parameters:

    • user (Integer, String, Twitter::User)

      A Twitter user ID, screen name, URI, or object.

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

      A customizable set of options.

    Options Hash (options):

    • :count (Integer)

      Specifies the number of records to retrieve. Must be less than or equal to 100.

    • :since_id (Integer)

      Returns results with an ID greater than (that is, more recent than) the specified ID.

Returns:

Raises:

See Also:

Rate Limited?:

  • Yes

Authentication:

  • Requires user context



32
33
34
35
36
# File 'lib/twitter/rest/favorites.rb', line 32

def favorites(*args)
  arguments = Twitter::Arguments.new(args)
  merge_user!(arguments.options, arguments.pop) if arguments.last
  perform_get_with_objects('/1.1/favorites/list.json', arguments.options, Twitter::Tweet)
end

#unfavorite(*tweets) ⇒ Array<Twitter::Tweet> #unfavorite(*tweets, options) ⇒ Array<Twitter::Tweet> Also known as: destroy_favorite

Un-favorites the specified Tweets as the authenticating user

Overloads:

  • #unfavorite(*tweets) ⇒ Array<Twitter::Tweet>

    Parameters:

  • #unfavorite(*tweets, options) ⇒ Array<Twitter::Tweet>

    Parameters:

    • tweets (Enumerable<Integer, String, URI, Twitter::Tweet>)

      A collection of Tweet IDs, URIs, or objects.

    • options (Hash)

      A customizable set of options.

Returns:

Raises:

See Also:

Rate Limited?:

  • No

Authentication:

  • Requires user context



50
51
52
# File 'lib/twitter/rest/favorites.rb', line 50

def unfavorite(*args)
  parallel_objects_from_response(Twitter::Tweet, :post, '/1.1/favorites/destroy.json', args)
end