public
Description: Portable Contacts client for Ruby
Homepage: http://rdoc.info/projects/pelle/portablecontacts
Clone URL: git://github.com/pelle/portablecontacts.git
name age message
file .document Thu Oct 01 15:01:34 -0700 2009 Initial commit to portablecontacts. [pelle]
file .gitignore Thu Oct 01 15:01:34 -0700 2009 Initial commit to portablecontacts. [pelle]
file LICENSE Thu Oct 01 15:01:34 -0700 2009 Initial commit to portablecontacts. [pelle]
file README.rdoc Fri Oct 02 11:07:06 -0700 2009 Initial simple PortableContacts client [pelle]
file Rakefile Fri Oct 02 11:07:06 -0700 2009 Initial simple PortableContacts client [pelle]
file VERSION Fri Oct 02 11:07:06 -0700 2009 Initial simple PortableContacts client [pelle]
directory lib/ Fri Oct 02 11:07:06 -0700 2009 Initial simple PortableContacts client [pelle]
file portablecontacts.gemspec Fri Oct 02 11:07:06 -0700 2009 Initial simple PortableContacts client [pelle]
directory spec/ Fri Oct 02 11:07:06 -0700 2009 Initial simple PortableContacts client [pelle]
README.rdoc

Portable Contacts

This is a ruby client implementation of Portable Contacts a standard for exchanging profile and address book data.

The current draft of the standard is portablecontacts.net/draft-spec.html

Portable Contacts is currently supported by Plaxo, Google, Yahoo, and most OpenSocial containers.

This client uses OAuth and JSON exclusively. There are no plans for supporting basic authentication or xml.

To use it you need an OAuth AccessToken (see oauth.rubyforge.org/). If you are using Rails, you may find the easiest way of doing this as using the OAuth Plugin stakeventures.com/articles/2009/07/21/consuming-oauth-intelligently-in-rails

The Gem requires:

  • ActiveSupport
  • OAuth Gem
  • JSON gem

Example Code

  @access_token = ... # instantiate access token

  @client = PortableContacts::Client.new "http://www-opensocial.googleusercontent.com/api/people", @access_token

  # Get users profile

  @profile = @client.me

  puts @profile.display_name
  => "Bob Sample"

  # Get users contacts
  @contacts = @client.all

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don’t break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but
     bump version in a commit by itself I can ignore when I pull)
    
  • Send me a pull request. Bonus points for topic branches.

Copyright

Copyright © 2009 Pelle Braendgaard. See LICENSE for details.