RFacebook is a Ruby client to the Facebook API (includes Rails plugin support). It hides all the nitty-gritty details behind a beautiful Ruby front-end, allowing you to focus on writing great code.
And now, with the RFacebook Rails plugin, you can have even more Facebook goodness in Rails. Besides extensions for controllers, views, models, and sessions, it even has a great debug panel for beginners that lets you see what's going on behind the scenes.
RFacebook is a production-ready library that has been deployed in a number of high-profile applications, such as Causes. The combination of extensive unit tests and a full feature set make it the most complete Facebook library for Rails.
Ruby is a dynamic, reflective, general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was initially developed and designed by Yukihiro "Matz" Matsumoto.
Ruby supports multiple programming paradigms (including functional, object oriented and imperative), and features a dynamic type system and automatic memory management; it is therefore similar in varying respects to Python, Perl, Lisp, Dylan, and CLU.
In its current, official implementation, written in C, Ruby is a single-pass interpreted language. As there is currently no specification of the Ruby language, this implementation is considered the de facto reference. As of 2008, there are a number of alternative implementations of the Ruby language, including Rubinius, JRuby, YARV, and IronRuby, each of which takes a different approach, with JRuby providing just-in-time compilation functionality.
The language was created by Yukihiro Matsumoto, who started working on Ruby on February 24, 1993, and released it to the public in 1995. "Ruby" was named as a gemstone because of a joke within Matsumoto's circle of friends alluding to the name of the Perl programming language.
As of December 2007, the latest stable version of the reference implementation is 1.8.6. Apart from the reference, several other virtual machines are being developed for Ruby. These include JRuby, a port of Ruby to the Java platform, IronRuby, an implementation for the .NET Framework produced by Microsoft, and Rubinius, an interpreter modeled after self-hosting Smalltalk virtual machines.
Here are some key features of "RFacebook":
· View and Controller integration (url_for and redirect_to "just work")
· Works for Canvas, IFrame, and External applications
· Session management automatically uses fb_sig in lieu of cookies when in canvas
· Ensures security by checking signature given in canvas
· Configuration is done via facebook.yml (allowing multiple environments to be easily configured and versioned)
· Unit tested across both the API client (RFacebook) and the Rails plugin (RFacebook on Rails).
· Readable backtraces inside the Canvas
· Debug panel to help with common problems
· the interface won't break when Facebook alters the API (remote methods are invoked via method_missing)
What's New in This Release:
· split up the Gem (core library) and plugin (Rails extensions)
· you will now have to update your Rails plugin separately from the Gem
· better documentation in the core library
· deprecated all the confusing is_valid/is_ready/is_activated/is_expired methods in favor of simply 'ready?' and 'expired?'
· removed the plugin code from the gem... the Rails plugin is now much better-separated
· moved unit tests that applied to the core into the Gem itself (rather than the plugin)
· cleaned out some unnecessary code in controller_extensions
· refactored signature checking so that it happens in the plugin rather than in the core lib
· added ssh_port to tunnel configuration (if for some reason you dont use 22)
· added 'log_out_of_facebook' method to force a user to log out (clears the fbsession data)