Module: Octokit::Client::Users

Included in:
Octokit::Client
Defined in:
lib/octokit/client/users.rb

Instance Method Summary collapse

Instance Method Details

#add_email(email, options = {}) ⇒ Object



88
89
90
# File 'lib/octokit/client/users.rb', line 88

def add_email(email, options={})
  post("user/emails", options.merge({:email => email}), 3)
end

#add_key(title, key, options = {}) ⇒ Object



76
77
78
# File 'lib/octokit/client/users.rb', line 76

def add_key(title, key, options={})
  post("user/keys", options.merge({:title => title, :key => key}), 3)
end

#emails(options = {}) ⇒ Object



84
85
86
# File 'lib/octokit/client/users.rb', line 84

def emails(options={})
  get("user/emails", options, 3)
end

#follow(user, options = {}) ⇒ Object



58
59
60
# File 'lib/octokit/client/users.rb', line 58

def follow(user, options={})
  put("user/following/#{user}", options, 3, true, raw=true).status == 204
end

#followers(user = login, options = {}) ⇒ Object



40
41
42
# File 'lib/octokit/client/users.rb', line 40

def followers(user=, options={})
  get("users/#{user}/followers", options, 3)
end

#following(user = login, options = {}) ⇒ Object



44
45
46
# File 'lib/octokit/client/users.rb', line 44

def following(user=, options={})
  get("users/#{user}/following", options, 3)
end

#follows?(*args) ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
51
52
53
54
55
56
# File 'lib/octokit/client/users.rb', line 48

def follows?(*args)
  target = args.pop
  user = args.first
  user ||= 
  return if user.nil?
  get("user/following/#{target}", {}, 3, true, raw=true).status == 204
rescue Octokit::NotFound
  false
end

#keys(options = {}) ⇒ Object

Not yet supported: get a single key, update an existing key



72
73
74
# File 'lib/octokit/client/users.rb', line 72

def keys(options={})
  get("user/keys", options, 3)
end

#remove_email(email, options = {}) ⇒ Object



92
93
94
# File 'lib/octokit/client/users.rb', line 92

def remove_email(email, options={})
  delete("user/emails", options.merge({:email => email}), 3, true, raw=true).status == 204
end

#remove_key(id, options = {}) ⇒ Object



80
81
82
# File 'lib/octokit/client/users.rb', line 80

def remove_key(id, options={})
  delete("user/keys/#{id}", options, 3, true, raw=true)
end

#search_users(search, options = {}) ⇒ Object



5
6
7
# File 'lib/octokit/client/users.rb', line 5

def search_users(search, options={})
  get("legacy/user/search/#{search}", options, 3)['users']
end

#unfollow(user, options = {}) ⇒ Object



62
63
64
# File 'lib/octokit/client/users.rb', line 62

def unfollow(user, options={})
  delete("user/following/#{user}", options, 3, true, raw=true).status == 204
end

#update_user(options) ⇒ Hashie::Mash

Update the authenticated user

Examples:

Octokit.user(:name => "Erik Michaels-Ober", :email => "[email protected]", :company => "Code for America", :location => "San Francisco", :hireable => false)

Parameters:

  • options (Hash)

    A customizable set of options.

Options Hash (options):

  • :name (String)
  • :email (String)

    Publically visible email address.

  • :blog (String)
  • :company (String)
  • :location (String)
  • :hireable (Boolean)
  • :bio (String)

Returns:

  • (Hashie::Mash)


36
37
38
# File 'lib/octokit/client/users.rb', line 36

def update_user(options)
  patch("user", options, 3)
end

#user(user = nil) ⇒ Hashie::Mash

Get a single user

Examples:

Octokit.user("sferik")

Parameters:

  • user (String) (defaults to: nil)

    A GitHub user name.

Returns:

  • (Hashie::Mash)


15
16
17
18
19
20
21
# File 'lib/octokit/client/users.rb', line 15

def user(user=nil)
  if user
    get("users/#{user}", {}, 3)
  else
    get("user", {}, 3)
  end
end

#watched(user = login, options = {}) ⇒ Object



66
67
68
# File 'lib/octokit/client/users.rb', line 66

def watched(user=, options={})
  get("users/#{user}/watched", options, 3)
end