class GoogleAppsClient
Public Class Methods
client( identity )
click to toggle source
# File lib/generators/happy_seed/googleoauth/templates/app/models/google_apps_client.rb, line 6 def self.client( identity ) client = Google::APIClient.new(:application_name => 'HappySeed App', :application_version => "1.0.0" ) client.authorization.update_token!({:access_token => identity.accesstoken, :refresh_token => identity.refreshtoken}) GoogleAppsClient.new( client ) end
new( client )
click to toggle source
# File lib/generators/happy_seed/googleoauth/templates/app/models/google_apps_client.rb, line 2 def initialize( client ) @client = client end
Public Instance Methods
admin_api()
click to toggle source
# File lib/generators/happy_seed/googleoauth/templates/app/models/google_apps_client.rb, line 12 def admin_api @admin_api ||= @client.discovered_api("admin", "directory_v1") end
ensure_user( email, first_name, last_name )
click to toggle source
# File lib/generators/happy_seed/googleoauth/templates/app/models/google_apps_client.rb, line 32 def ensure_user( email, first_name, last_name ) if !is_valid_user?( email ) new_user = admin_api.users.insert.request_schema.new({ 'password' => 'happiness4u', 'primaryEmail' => email, 'name' => { 'familyName' => last_name, 'givenName' => first_name }, changePasswordAtNextLogin: true }) result = @client.execute( :api_method => admin_api.users.insert, :body_object => new_user ) end end
is_valid_user?( email, domain = "happyfuncorp.com" )
click to toggle source
# File lib/generators/happy_seed/googleoauth/templates/app/models/google_apps_client.rb, line 22 def is_valid_user?( email, domain = "happyfuncorp.com" ) users = list_users( domain ) users.data['users'].each do |user| if user['primaryEmail'].downcase == email.downcase return true end end return false end
list_groups( domain = "happyfuncorp.com" )
click to toggle source
# File lib/generators/happy_seed/googleoauth/templates/app/models/google_apps_client.rb, line 51 def list_groups( domain = "happyfuncorp.com" ) request = { api_method: admin_api.groups.list } request[:parameters] = { domain: domain } @client.execute request end
list_members( group_key )
click to toggle source
# File lib/generators/happy_seed/googleoauth/templates/app/models/google_apps_client.rb, line 57 def list_members( group_key ) request = { api_method: admin_api.members.list } request[:parameters] = { groupKey: group_key } @client.execute request end
list_users( domain = "happyfuncorp.com" )
click to toggle source
# File lib/generators/happy_seed/googleoauth/templates/app/models/google_apps_client.rb, line 16 def list_users( domain = "happyfuncorp.com" ) request = { api_method: admin_api.users.list } request[:parameters] = { domain: domain } @client.execute request end