Module: J1App::GithubHelpers

Included in:
AuthManager
Defined in:
lib/j1_app/j1_auth_manager/helpers_github.rb

Instance Method Summary collapse

Instance Method Details

#github_organization_access?(name) ⇒ Boolean

See if the user is a member of the named organization

name - the organization name

Returns: true if the user has access, false otherwise

Returns:

  • (Boolean)


68
69
70
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 68

def github_organization_access?(name)
  github_user.organization_member?(name)
end

#github_organization_authenticate!(name) ⇒ Object

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



96
97
98
99
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 96

def github_organization_authenticate!(name)
  authenticate!
  halt([401, "Unauthorized User"]) unless github_organization_access?(name)
end

#github_public_organization_access?(name) ⇒ Boolean

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

Returns:

  • (Boolean)


59
60
61
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 59

def github_public_organization_access?(name)
  github_user.publicized_organization_member?(name)
end

#github_public_organization_authenticate!(name) ⇒ Object

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



86
87
88
89
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 86

def github_public_organization_authenticate!(name)
  authenticate!
  halt([401, "Unauthorized User"]) unless github_public_organization_access?(name)
end

#github_raw_request(path) ⇒ Object

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


37
38
39
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 37

def github_raw_request(path)
  github_user.github_raw_request(path)
end

#github_request(path) ⇒ Object

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', ... }


50
51
52
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 50

def github_request(path)
  github_user.github_request(path)
end

#github_team_access?(team_id) ⇒ Boolean

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

Returns:

  • (Boolean)


77
78
79
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 77

def github_team_access?(team_id)
  github_user.team_member?(team_id)
end

#github_team_authenticate!(team_id) ⇒ Object

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



106
107
108
109
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 106

def github_team_authenticate!(team_id)
  authenticate!
  halt([401, "Unauthorized User"]) unless github_team_access?(team_id)
end

#github_userObject

The authenticated user object

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



24
25
26
# File 'lib/j1_app/j1_auth_manager/helpers_github.rb', line 24

def github_user
  warden.user
end