mage-hand is a ghostly hand that reaches across the internet to access the
Obsidian Portal API. This gem can be used with any ruby program, but has some special support for Rails Apps.
Right now mage-hand is being extracted from code that meets my needs in other projects. It is kind of incomplete, though getting better. Contributions are welcome.
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 MageHand 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 willdo 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
- 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-2012 Steven Hammond and licensed under the MIT license. See LICENSE.txt for