46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| require "net/http"
 | |
| require "uri"
 | |
| require 'json'
 | |
| 
 | |
| class FacebookController< ApplicationController
 | |
| 
 | |
| 	def register_fb
 | |
| 		user = User.find(params[:user])
 | |
| 		if !user.facebook
 | |
| 			user.build_facebook(fb_identifier: params[:identifier],connected: true)
 | |
| 			user.save!
 | |
| 		end
 | |
|     	render :json=>{"success"=>true,"user"=>user.facebook.fb_identifier}.to_json
 | |
|     	# respond_to do |format|
 | |
|     	# 	format.js
 | |
|     	# end
 | |
|   	end
 | |
| 
 | |
|   	def get_friends
 | |
|   		if current_user.facebook
 | |
| 	  		@url = "http://fb.tp.rulingcom.com/get_friends?identifier=" + current_user.facebook.fb_identifier
 | |
| 		    uri = URI.parse(@url)
 | |
| 		    http = Net::HTTP.new(uri.host, uri.port)
 | |
| 		    request = Net::HTTP::Get.new(uri.request_uri)
 | |
| 		    response = http.request(request)
 | |
| 		    friends = response.body
 | |
| 		    friends = JSON.parse(friends)
 | |
| 		    output = Array.new
 | |
| 		    friends.each do |friend|
 | |
| 		    	output << {"name"=>friend['name'],"identifier"=>friend['identifier']}
 | |
| 		    end
 | |
| 	  		render :json=>{"success"=>true,"count"=>friends.count,"friends"=>output}.to_json
 | |
| 	  	else
 | |
| 	  		render :json=>{"success"=>false,"message"=>"User is not connected to facebook."}.to_json
 | |
| 	  	end
 | |
|   	end
 | |
| 
 | |
|   	def disconnect
 | |
|   		user_fb = current_user.facebook
 | |
|   		if user_fb
 | |
|   			user_fb.destroy
 | |
|   		end
 | |
|   		render :json=>{"success"=>true}.to_json
 | |
|   	end
 | |
| 
 | |
| end |