Module: J1App::GithubHelpers
- Included in:
- AuthManager
- Defined in:
- lib/j1_app/j1_auth_manager/helpers_github.rb
Instance Method Summary collapse
-
#github_organization_access?(name) ⇒ Boolean
See if the user is a member of the named organization.
-
#github_organization_authenticate!(name) ⇒ Object
Enforce user membership to the named organization.
-
#github_public_organization_access?(name) ⇒ Boolean
See if the user is a public member of the named organization.
-
#github_public_organization_authenticate!(name) ⇒ Object
Enforce publicized user membership to the named organization.
-
#github_raw_request(path) ⇒ Object
Send a V3 API GET request to path.
-
#github_request(path) ⇒ Object
Send a V3 API GET request to path and parse the response body.
-
#github_team_access?(team_id) ⇒ Boolean
See if the user is a member of the team id.
-
#github_team_authenticate!(team_id) ⇒ Object
Enforce user membership to the team id.
-
#github_user ⇒ Object
The authenticated user object.
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
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
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
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_user ⇒ Object
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 |