Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Easy creation of Facebook applications in Ruby using plugin for Sinatra web framework that integrates with Facebooker gem.
Ruby
branch: master

Fix for canvas redirect

latest commit 0acfaf1f66
Luca Guidi authored
Failed to load latest commit information.
bin Update frankie for Sinatra 0.2.2, plus add ssh tunnel script to project
lib Fix for canvas redirect
test pin it to newer version of Facebooker, updated Sinatra hook to new 0.…
.DS_Store Convert Frankie into a gem to work with Sinatra 0.2.0
.gitignore Convert Frankie into a gem to work with Sinatra 0.2.0
CHANGELOG Update frankie to version 0.3, now works with Sinatra 0.9.x and faceb…
LICENSE Convert Frankie into a gem to work with Sinatra 0.2.0
Manifest
README.rdoc
Rakefile Correct Sinatra gem version for dependency, and update CHANGELOG for …

README.rdoc

Frankie

Frankie (facethesinatra.com) is a plugin for the Sinatra web framework (sinatrarb.com) that allows you to easily create a Facebook application by using the Facebooker gem.

Written by Ron Evans (www.deadprogrammersociety.com)

Based on merb_facebooker (github.com/vanpelt/merb_facebooker) by Chris Van Pelt, which was based on the Rails classes in Facebooker (facebooker.rubyforge.org/) by Mike Mangino, Shane Vitarana, & Chad Fowler

2/20/2009 - Now updated to Sinatra 0.9 and facebooker thanks to mjfreshyfresh.

Thanks, everyone!

Here is a very simple example application:

require 'rubygems' require 'frankie'

configure do set_option :sessions, true load_facebook_config “./config/facebooker.yml”, Sinatra.env end

## facebooker helpers before do ensure_authenticated_to_facebook ensure_application_is_installed_by_facebook_user end

## the site get '/' do body “<h1>Hello #{session[:facebook_session].user.name} and welcome to frankie!</h1>” end

How to use frankie

  • Install the frankie gem (which will install both Sinatra and Facebooker if you do not already have them)

sudo gem install frankie

  • Create the application directories for your new app

mkdir myapp cd myapp mkdir config

  • Put your facebooker.yml file into the /myapp/config directory, and set the values to your information. Here is a simple example of the file:

development: api_key: apikeyhere secret_key: secretkeyhere canvas_page_name: yourcanvashere callback_url: localhost:4567 test: api_key: apikeyhere secret_key: secretkeyhere canvas_page_name: yourcanvashere callback_url: localhost:4567 production: api_key: apikeyhere secret_key: secretkeyhere canvas_page_name: yourcanvashere callback_url: yourrealserver.com

  • Make sure you have setup your Facebook application on the facebook site. Google “setup new facebook application” if you are unsure how to do this. I recommend starting with an IFrame application. A more advanced and cooler approach uses a tunneling script, which is included with Frankie. You do need to have “autossh” installed in order to use it, as well as a publicly addressable server. From a command prompt type tunnel <host> <remote_port> <local_port> like this:

tunnel app.myhost.com 10000 4567

You will also need to make sure your server's /etc/ssh/sshd_config contains the following line:

GatewayPorts clientspecified

Thanks to the many people like Evan Weaver, Blake Mizerany, and whoever else that have provided the code used in this tunneling script.

  • Create your application, based on the sample above, and then run it:

ruby sample.rb

Have fun!

Something went wrong with that request. Please try again.