class Github::Client::Orgs::Members

Public Instance Methods

all(*args)
Alias for: list
conceal(*args) click to toggle source

Conceal a user's membership

@see developer.github.com/v3/orgs/members/#conceal-a-users-membership

@example

github = Github.new oauth_token: '...'
github.orgs.members.conceal 'org-name', 'member-name'

@api public

# File lib/github_api/client/orgs/members.rb, line 133
def conceal(*args)
  arguments(args, required: [:org_name, :user])

  delete_request("/orgs/#{arguments.org_name}/public_members/#{arguments.user}", arguments.params)
end
Also aliased as: conceal_membership
conceal_membership(*args)
Alias for: conceal
delete(*args) click to toggle source

Remove a member

Removing a user from this list will remove them from all teams and they will no longer have any access to the organization’s repositories.

@see developer.github.com/v3/orgs/members/#remove-a-member

@example

github = Github.new
github.orgs.members.remove 'org-name', 'member-name'

@api public

# File lib/github_api/client/orgs/members.rb, line 99
def delete(*args)
  arguments(args, required: [:org_name, :user])

  delete_request("/orgs/#{arguments.org_name}/members/#{arguments.user}",
                 arguments.params)
end
Also aliased as: remove
list(*args) { |el| ... } click to toggle source

List members

List all users who are members of an organization. A member is a user that belongs to at least 1 team in the organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. Otherwise only public members are returned.

@see developer.github.com/v3/orgs/members/#members-list

@param [Hash] params @option params [String] :filter

Filter members returned in the list. Can be one of:
* 2fa_disabled: Members without two-factor authentication enabled.
Available for owners of organizations with private repositories.
* all: All members the authenticated user can see.
Default: all

@option params [String] :role

Filter members returned by their role. Can be one of:
  * all: All members of the organization, regardless of role.
  * admin: Organization owners.
  * member: Non-owner organization members.

@example

github = Github.new
github.orgs.members.list 'org-name'
github.orgs.members.list 'org-name' { |memb| ... }

List public members

@see developer.github.com/v3/orgs/members/#public-members-list

Members of an organization can choose to have their membership publicized or not.

@example

github = Github.new
github.orgs.members.list 'org-name', public: true
github.orgs.members.list 'org-name', public: true { |memb| ... }

@api public

# File lib/github_api/client/orgs/members.rb, line 45
def list(*args)
  params = arguments(args, required: [:org_name]).params
  org_name = arguments.org_name

  response = if params.delete('public')
               get_request("/orgs/#{org_name}/public_members", params)
             else
               get_request("/orgs/#{org_name}/members", params)
             end
  return response unless block_given?
  response.each { |el| yield el }
end
Also aliased as: all
make_public(*args)
Alias for: publicize
member?(*args) click to toggle source

Check if user is, publicly or privately, a member of an organization

@example

github = Github.new
github.orgs.members.member? 'org-name', 'member-name'

Check if a user is a public member of an organization

@example

github = Github.new
github.orgs.members.member? 'org-name', 'member-name', public: true

@api public

# File lib/github_api/client/orgs/members.rb, line 72
def member?(*args)
  params   = arguments(args, required: [:org_name, :user]).params
  org_name = arguments.org_name
  user     = arguments.user

  response = if params.delete('public')
               get_request("/orgs/#{org_name}/public_members/#{user}", params)
             else
               get_request("/orgs/#{org_name}/members/#{user}", params)
             end
  response.status == 204
rescue Github::Error::NotFound
  false

end
publicize(*args) click to toggle source

Publicize a user's membership

@see developer.github.com/v3/orgs/members/#publicize-a-users-membership

@example

github = Github.new oauth_token: '...'
github.orgs.members.publicize 'org-name', 'member-name'

@api public

# File lib/github_api/client/orgs/members.rb, line 116
def publicize(*args)
  arguments(args, required: [:org_name, :user])

  put_request("/orgs/#{arguments.org_name}/public_members/#{arguments.user}", arguments.params)
end
Also aliased as: make_public, publicize_membership
publicize_membership(*args)
Alias for: publicize
remove(*args)
Alias for: delete