module Sinatra::Auth::Github::Helpers
Public Instance Methods
# File lib/sinatra/auth/github.rb, line 142 def _relative_url_for(path) request.script_name + path end
# File lib/sinatra/auth/github.rb, line 40 def authenticate!(*args) warden.authenticate!(*args) end
# File lib/sinatra/auth/github.rb, line 44 def authenticated?(*args) warden.authenticated?(*args) end
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
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
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
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
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
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
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
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
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
# File lib/sinatra/auth/github.rb, line 48 def logout! warden.logout end
# File lib/sinatra/auth/github.rb, line 36 def warden env['warden'] end