Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Simple Facebook platform simulator, to aid in developing Facebook canvas apps offline.
JavaScript Ruby
branch: master
Failed to load latest commit information.
bin improving static file handling, and changing some defaults
lib cleanup
.gitignore first commit
LICENSE cleaned up comments and TODO
README.rdoc cleanup
Rakefile fixing gemspec
TODO cleanup
fakebook.gemspec fixing gemspec

README.rdoc

Fakebook

Fakebook simulates the Facebook platform, to aid in developing Facebook canvas apps offline. It takes a request and passes it to the app as a POST with the fb_sig_* params added, etc. The response is returned with FBML parsed (sort of) and some chrome added.

In other words: you can work on Facebook canvas apps when you're on a plane.

To use, run 'fakebook' from the command line to start up a Fakebook proxy. For example, if you have an app running on port 3000, and the callback path is “/”, and the canvas path is “myapp”, you would run:

$ fakebook --callback="http://localhost:3000/" --canvas="myapp"

See “fakebook –help” for more options. By default, Fakebook will look for a config file at ./config/fakebook.yml. The file should look like this:

callback: http://localhost:3000/
canvas:   myapp
secret:   secret
user:     1
session:  session_key
friends:  2, 3, 4
host:     0.0.0.0
port:     5000

You can also use the library directly with the Fakebook class, which eases testing:

require 'fakebook'
app = Fakebook.new :callback  => "http://localhost:3000/",
                   :canvas    => "myapp",
                   :secret    => "secret",
                   :fb_params => { :user => 1, :session_key => 'session_key', :friends => [2, 3, 4] }
app.request("/")

Because Fakebook implements #call according to the Rack specification, you can create an HTTP server that proxies to your application using your choice of server library (Mongrel, WEBrick, Thin, etc.) For example:

require 'fakebook'
app = Fakebook.new # etc...
Rack::Handler::Mongrel.run app, :Port => 5000

Getting started

To install via RubyGems:

$ sudo gem install sco-fakebook --source http://gems.github.com/

Run the executable to see the available options:

$ fakebook --help

To install the development version from the repository:

$ wget http://github.com/sco/fakebook/tarball/master
$ tar -xvf sco-fakebook-master.tar.gz
$ cd sco-fakebook-master
$ sudo rake install_gem

Dependencies

Ruby Rack >= 0.3.0

Author

Scott Raymond <sco@scottraymond.net>

Thanks to PackRat, from which this code was extracted.

Something went wrong with that request. Please try again.