mage-hand is a ghostly hand that reaches across the internet to access the Obsidian Portal API. At the moment, mage-had only works with Rails Apps. Support for other things is coming soon.
The Obsidian Portal API is new and in a lot of flux. mage-hand is also new and in a lot of flux. Together these make a very unstable combination. Use with caution.
You can install mage-hand with the usual
sudo gem install mage-hand
or you can add mage-hand to your gemfile with the following…
MageHand handles the OAuth authentication to Obsidian Portal for you. To do that from a Rails controller try this…
class CoolController < ApplicationController
include before_filter :obsidian_portal_login_required
This will handle all of the authenticate and redirecting etc. You will be returned to the original requested action after authentication.
You can get objects from Obsidian Portal by calling the obsidian_portal object. obsidian_portal is a method that gets added to your controller by the include.
obsidian_portal.current_user will get the currently authenticated user. obsidian_portal.me will do the same thing.
To make a direct call to the API, you have to do it through the access token.
Only finding a user through current_user or me is currently supported.
Should hide accesss token and have get work correctly on the obsidian_portal instance
Contributing to mage-hand
Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
Fork the project
Start a feature/bugfix branch
Commit and push until you are happy with your contribution
Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright © 2010 Steven Hammond. See LICENSE.txt for further details.