class Fboauth2::Newfbclient
Public Class Methods
auth_callback(code, url)
click to toggle source
# File lib/Fboauth2.rb, line 25 def self.auth_callback(code, url) client = @facebook_client client.authorization.process_callback(code, :redirect_uri => url) client end
crate_new_m(info, params, user)
click to toggle source
# File lib/Fboauth2.rb, line 45 def self.crate_new_m(info, params, user) cname = params[:config] model_type = info[cname]["model"]["name"] m_data = info[cname]["model"]["params"] puts "-"*50 puts "Creating #{model_type}..." m_data.each do |field, value| aux = value.to_s.split("_") if aux[0] == "fb" value = user["#{aux[1]}"] m_data[field] = value end end if info[cname]["hsubmodel"] == "t" #si tiene algun tipo de subcategoria? sm_data = info[cname]["submodel"]["params"] sm_name = info[cname]["submodel"]["name"] sm_data["#{sm_name}"][0].each do |field, value| aux = value.to_s.split("_") if aux[0] == "fb" sm_data["#{sm_name}"][0][field] = user["#{aux[1]}"] end if aux[0] == "pm" sm_data["#{sm_name}"][0][field] = params[aux[1].to_sym] end end m_data = m_data.merge(sm_data) end m_aux = model_type.constantize.create(m_data) puts "-> ID: " + m_aux.id.to_s puts "-> Ready!" puts "-"*50 end
get_auth(host, params)
click to toggle source
# File lib/Fboauth2.rb, line 14 def self.get_auth(host, params) @params = params url = Newfbclient.get_url(host) @facebook_client = Newfbclient.get_client #creo un nuevo cliente @facebook_client.authorization.authorize_url(:redirect_uri => url , :scope => @fb_data["credentials"][Rails.env]["permission"]) #pido autorizacion q me regresa una url a facebook end
get_client()
click to toggle source
# File lib/Fboauth2.rb, line 21 def self.get_client FBGraph::Client.new(:client_id => @fb_data["credentials"][Rails.env]["api_key"], :secret_id => @fb_data["credentials"][Rails.env]["api_secret"]) end
get_conf_data()
click to toggle source
# File lib/Fboauth2.rb, line 41 def self.get_conf_data YAML.load_file("#{RAILS_ROOT}/config/fbconfig.yml") end
get_redirect_path(params)
click to toggle source
# File lib/Fboauth2.rb, line 91 def self.get_redirect_path(params) url = @fb_data[params[:config]]['redirect'].split(" ") url_f = "" url.each do |value| aux = value.split("_") if aux[0] == "pm" url_f += params[aux[1].to_sym] else url_f += value end end puts url_f return url_f end
get_url(host)
click to toggle source
# File lib/Fboauth2.rb, line 31 def self.get_url(host) @aux_params = "" @params.delete("controller") @params.delete("action") @params.each do |key, value| @aux_params = @aux_params + key + "=" + value + "&" end "http://"+ host + "/oauth2_facebook/fb_callback?" + @aux_params #get url para el callback end
send_fb_msg(cname, user)
click to toggle source
# File lib/Fboauth2.rb, line 86 def self.send_fb_msg(cname, user) @facebook_client.selection.user(user[:id]).feed.publish!(:message => @fb_data[cname]["facebook"]["message"], :name => @fb_data[cname]["facebook"]["title"], :link => @fb_data[cname]["facebook"]["link"], :picture => @fb_data[cname]["facebook"]["picture"], :description => @fb_data[cname]["facebook"]["description"]) puts "-> Facebook Message, successfully published..." end