= 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[http://rack.rubyforge.org/doc/files/SPEC.html], 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 Thanks to PackRat[http://apps.facebook.com/packrat/], from which this code was extracted.