Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Easy creation of Facebook applications in Ruby using plugin for Sinatra web framework that integrates with Facebooker gem.
Branch: master
Pull request Compare This branch is even with deadprogram:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.



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

Written by Ron Evans (

Based on merb_facebooker ( by Chris Van Pelt, which was based on the Rails classes in Facebooker ( 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]} 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:

  • 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 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.