Class: Github::Client::Activity::Starring

Inherits:
API
  • Object
show all
Defined in:
lib/github_api/client/activity/starring.rb

Overview

Repository Starring is a feature that lets users bookmark repositories. Stars are shown next to repositories to show an approximate level of interest. Stars have no effect on notifications or the activity feed.

Constant Summary

Constants included from MimeType

MimeType::MEDIA_LOOKUP

Constants included from Github::Constants

Github::Constants::ACCEPT, Github::Constants::ACCEPTED_OAUTH_SCOPES, Github::Constants::ACCEPT_CHARSET, Github::Constants::CACHE_CONTROL, Github::Constants::CONTENT_LENGTH, Github::Constants::CONTENT_TYPE, Github::Constants::DATE, Github::Constants::ETAG, Github::Constants::HEADER_LAST, Github::Constants::HEADER_LINK, Github::Constants::HEADER_NEXT, Github::Constants::LOCATION, Github::Constants::META_FIRST, Github::Constants::META_LAST, Github::Constants::META_NEXT, Github::Constants::META_PREV, Github::Constants::META_REL, Github::Constants::OAUTH_SCOPES, Github::Constants::PARAM_PAGE, Github::Constants::PARAM_PER_PAGE, Github::Constants::PARAM_START_PAGE, Github::Constants::RATELIMIT_LIMIT, Github::Constants::RATELIMIT_REMAINING, Github::Constants::RATELIMIT_RESET, Github::Constants::SERVER, Github::Constants::USER_AGENT

Instance Attribute Summary

Attributes inherited from API

#current_options

Instance Method Summary collapse

Methods inherited from API

after_callbacks, after_request, #api_methods_in, #arguments, before_callbacks, before_request, clear_request_methods!, #disable_redirects, #execute, extend_with_actions, extra_methods, #extract_basic_auth, extract_class_name, #filter_callbacks, inherited, #initialize, internal_methods, method_added, #method_missing, #module_methods_in, namespace, request_methods, require_all, #respond_to?, root!, #run_callbacks, #set, #yield_or_eval

Methods included from Request::Verbs

#delete_request, #get_request, #head_request, #options_request, #patch_request, #post_request, #put_request

Methods included from RateLimit

#ratelimit, #ratelimit_remaining, #ratelimit_reset

Methods included from MimeType

#lookup_media, #parse

Methods included from Authorization

#auth_code, #authenticated?, #authentication, #authorize_url, #basic_authed?, #client, #get_token

Constructor Details

This class inherits a constructor from Github::API

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Github::API

Instance Method Details

#list(*args) ⇒ Object Also known as: all

List stargazers

Examples:

github = Github.new
github.activity.starring.list user: 'user-name', repo: 'repo-name'
github.activity.starring.list user: 'user-name', repo: 'repo-name' { |star| ... }

See Also:



20
21
22
23
24
25
26
# File 'lib/github_api/client/activity/starring.rb', line 20

def list(*args)
  arguments(args, required: [:user, :repo])

  response = get_request("/repos/#{arguments.user}/#{arguments.repo}/stargazers", arguments.params)
  return response unless block_given?
  response.each { |el| yield el }
end

#star(*args) ⇒ Object

Star a repository

You need to be authenticated to star a repository

Examples:

github = Github.new
github.activity.starring.star 'user-name', 'repo-name'
github.activity.starring.star user: 'user-name', repo: 'repo-name'

See Also:



104
105
106
107
108
# File 'lib/github_api/client/activity/starring.rb', line 104

def star(*args)
  arguments(args, required: [:user, :repo])

  put_request("/user/starred/#{arguments.user}/#{arguments.repo}", arguments.params)
end

#starred(*args) ⇒ Object

List repos being starred by a user

List repos being starred by the authenticated user

Examples:

github = Github.new
github.activity.starring.starred user: 'user-name'
github = Github.new oauth_token: '...'
github.activity.starring.starred

Parameters:

See Also:



53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/github_api/client/activity/starring.rb', line 53

def starred(*args)
  arguments(args)
  params = arguments.params

  response = if (user_name = params.delete('user'))
    get_request("/users/#{user_name}/starred", params)
  else
    get_request('/user/starred', params)
  end
  return response unless block_given?
  response.each { |el| yield el }
end

#starring?(*args) ⇒ Boolean

Check if you are starring a repository

Examples:

github = Github.new
github.activity.starring.starring? 'user-name', 'repo-name'
github.activity.starring.starring? user: 'user-name', repo: 'repo-name'

Returns:

  • (Boolean)

    Returns true if this repo is starred by you, false otherwise.

See Also:



81
82
83
84
85
86
87
88
# File 'lib/github_api/client/activity/starring.rb', line 81

def starring?(*args)
  arguments(args, required: [:user, :repo])

  get_request("/user/starred/#{arguments.user}/#{arguments.repo}", arguments.params)
  true
rescue Github::Error::NotFound
  false
end

#unstar(*args) ⇒ Object

Unstar a repository

You need to be authenticated to unstar a repository.

Examples:

github = Github.new
github.activity.starring.unstar 'user-name', 'repo-name'
github.activity.starring.unstar user: 'user-name', repo: 'repo-name'

See Also:



124
125
126
127
128
# File 'lib/github_api/client/activity/starring.rb', line 124

def unstar(*args)
  arguments(args, required: [:user, :repo])

  delete_request("/user/starred/#{arguments.user}/#{arguments.repo}", arguments.params)
end