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!, #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, root!, #run_callbacks, #set, #yield_or_eval

Methods included from Github::ClassMethods

#configuration, #configure, #require_all

Methods included from RateLimit

#ratelimit, #ratelimit_remaining, #ratelimit_reset

Methods included from Request::Verbs

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

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:

API:

  • public



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

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:

API:

  • public



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

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:

API:

  • public



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

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:

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

See Also:

API:

  • public



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

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.activit.starring.unstar user: 'user-name', repo: 'repo-name'

See Also:

API:

  • public



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

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

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