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

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



89
90
91
92
93
94
95
96
# File 'lib/twitter/rest/favorites.rb', line 89

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)
  rescue Twitter::Error::AlreadyFavorited, Twitter::Error::NotFound
    next
  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



114
115
116
117
118
119
# File 'lib/twitter/rest/favorites.rb', line 114

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 200.

    • :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 200.

    • :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
53
54
55
56
57
# File 'lib/twitter/rest/favorites.rb', line 50

def unfavorite(*args)
  arguments = Twitter::Arguments.new(args)
  pmap(arguments) do |tweet|
    perform_post_with_object("/1.1/favorites/destroy.json", arguments.options.merge(id: extract_id(tweet)), Twitter::Tweet)
  rescue Twitter::Error::NotFound
    next
  end.compact
end

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

Un-favorites the specified Tweets as the authenticating user and raises an error if one is not found

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



73
74
75
# File 'lib/twitter/rest/favorites.rb', line 73

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