module Sinatra::Auth::Github::Helpers

Public Instance Methods

_relative_url_for(path) click to toggle source
# File lib/sinatra/auth/github.rb, line 142
def _relative_url_for(path)
  request.script_name + path
end
authenticate!(*args) click to toggle source
# File lib/sinatra/auth/github.rb, line 40
def authenticate!(*args)
  warden.authenticate!(*args)
end
authenticated?(*args) click to toggle source
# File lib/sinatra/auth/github.rb, line 44
def authenticated?(*args)
  warden.authenticated?(*args)
end
github_organization_access?(name) click to toggle source

See if the user is a member of the named organization

name - the organization name

Returns: true if the user has access, false otherwise

# File lib/sinatra/auth/github.rb, line 99
def github_organization_access?(name)
  github_user.organization_member?(name)
end
github_organization_authenticate!(name) click to toggle source

Enforce user membership to the named organization

name - the organization to test membership against

Returns an execution halt if the user is not a member of the named org

# File lib/sinatra/auth/github.rb, line 127
def github_organization_authenticate!(name)
  authenticate!
  halt([401, "Unauthorized User"]) unless github_organization_access?(name)
end
github_public_organization_access?(name) click to toggle source

See if the user is a public member of the named organization

name - the organization name

Returns: true if the user is public access, false otherwise

# File lib/sinatra/auth/github.rb, line 90
def github_public_organization_access?(name)
  github_user.publicized_organization_member?(name)
end
github_public_organization_authenticate!(name) click to toggle source

Enforce publicized user membership to the named organization

name - the organization to test membership against

Returns an execution halt if the user is not a publicized member of the named org

# File lib/sinatra/auth/github.rb, line 117
def github_public_organization_authenticate!(name)
  authenticate!
  halt([401, "Unauthorized User"]) unless github_public_organization_access?(name)
end
github_raw_request(path) click to toggle source

Send a V3 API GET request to path

path - the path on api.github.com to hit

Returns a rest client response object

Examples

github_raw_request("/user")
# => RestClient::Response
# File lib/sinatra/auth/github.rb, line 68
def github_raw_request(path)
  github_user.github_raw_request(path)
end
github_request(path) click to toggle source

Send a V3 API GET request to path and parse the response body

path - the path on api.github.com to hit

Returns a parsed JSON response

Examples

github_request("/user")
# => { 'login' => 'atmos', ... }
# File lib/sinatra/auth/github.rb, line 81
def github_request(path)
  github_user.github_request(path)
end
github_team_access?(team_id) click to toggle source

See if the user is a member of the team id

team_id - the team's id

Returns: true if the user has access, false otherwise

# File lib/sinatra/auth/github.rb, line 108
def github_team_access?(team_id)
  github_user.team_member?(team_id)
end
github_team_authenticate!(team_id) click to toggle source

Enforce user membership to the team id

team_id - the team_id to test membership against

Returns an execution halt if the user is not a member of the team

# File lib/sinatra/auth/github.rb, line 137
def github_team_authenticate!(team_id)
  authenticate!
  halt([401, "Unauthorized User"]) unless github_team_access?(team_id)
end
github_user() click to toggle source

The authenticated user object

Supports a variety of methods, name, full_name, email, etc

# File lib/sinatra/auth/github.rb, line 55
def github_user
  warden.user
end
logout!() click to toggle source
# File lib/sinatra/auth/github.rb, line 48
def logout!
  warden.logout
end
warden() click to toggle source
# File lib/sinatra/auth/github.rb, line 36
def warden
  env['warden']
end