diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 8c25895..d0a8855 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -4,6 +4,27 @@ def create session[:user_id] = user.id flash[:notice] = 'Signed In!' + update_user_data(user) + redirect_to root_url + end + + def destroy + session[:user_id] = nil + flash[:notice] = 'Signed Out' + redirect_to root_url + end + +private + + def update_user_data(user) + data = get_user_data + user.update_attributes email: data['email'], + name: data['given_name'], + surname: data['family_name'], + avatar: data['picture'] + end + + def get_user_data auth = Signet::Rails::Factory.create_from_env :google, request.env client = Google::APIClient.new client.authorization = auth @@ -13,19 +34,9 @@ def create :parameters => {}, :headers => {'Content-Type' => 'application/json'} ) - data = JSON.parse(result.body) - user.update_attributes email: data['email'], - name: data['given_name'], - surname: data['family_name'], - avatar: data['picture'] + JSON.parse(result.body) + end - redirect_to root_url - end - def destroy - session[:user_id] = nil - flash[:notice] = 'Signed Out' - redirect_to root_url - end end \ No newline at end of file