Sha256: fa3ef2ca32fe87cc05cb4998b7c24eeaae486138aeef0713ac4dd993d59aa5fa
Contents?: true
Size: 1.85 KB
Versions: 71
Compression:
Stored size: 1.85 KB
Contents
module Facebooker module Rails module TestHelpers def assert_facebook_redirect_to(url) assert_response :success assert_not_nil facebook_redirect_url assert_equal url, facebook_redirect_url end def follow_facebook_redirect! facebook_post facebook_redirect_url end def facebook_get(path,params={}) facebook_verb(:get,path,params) end def facebook_post(path,params={}) facebook_verb(:post,path,params) end def facebook_put(path,params={}) facebook_verb(:put,path,params) end def facebook_delete(path,params={}) facebook_verb(:delete,path,params) end def facebook_verb(verb,path, params={}) send verb, path, facebook_params(params).reverse_merge(:canvas => true) end def facebook_params(params = {}) params = default_facebook_parameters.with_indifferent_access.merge(params || {}) sig = generate_signature params params.merge(:fb_sig => sig) end private def default_facebook_parameters { :fb_sig_added => "1", :fb_sig_session_key => "facebook_session_key", :fb_sig_user => "1234", :fb_sig_expires => "0", :fb_sig_in_canvas => "1", :fb_sig_time => Time.now.to_f } end def facebook_redirect_url match = @response.body.match(/<fb:redirect url="([^"]+)"/) match.nil? ? nil : match.captures[0] end def generate_signature(params) facebook_params = params.select { |param,_| param =~ /^fb_sig_/ }.map do |param, value| [param.sub(/^fb_sig_/, ''), value].join('=') end Digest::MD5.hexdigest([facebook_params.sort.join, Facebooker::Session.secret_key].join) end end end end
Version data entries
71 entries across 71 versions & 14 rubygems