/octopussy

Simple Ruby wrapper for the GitHub v2 API and feeds

Primary LanguageJavaScriptMIT LicenseMIT

octopussy

Simple Ruby wrapper for the GitHub v2 API.

Installation

sudo gem install octopussy

Some examples

Show a user

Octopussy.user('pengwynn')
=> <#Hashie::Mash blog="http://wynnnetherland.com" company="Orrka" created_at="2008/02/25 10:24:19 -0800" email="wynn.netherland@gmail.com" followers_count=21 following_count=55 id=865 location="Dallas, TX" login="pengwynn" name="Wynn Netherland" public_gist_count=4 public_repo_count=16>

Show who a user follows

Octopussy.following('pengwynn')
=> ["cglee", "bryansray", "rails", "zachinglis", "wycats", "obie", "mully", "squeejee", "jderrett", "Shopify", "ReinH", "technoweenie", "errfree", "defunkt", "joshsusser", "hashrocket", "newbamboo", "bigtiger", "github", "jamis", "jeresig", "thoughtbot", "therealadam", "jnunemaker", "seaofclouds", "choan", "llimllib", "kwhinnery", "marshall", "handcrafted", "adamstac", "jashkenas", "dan", "remy", "hayesdavis", "documentcloud", "imathis", "mdeiters", "njonsson", "asenchi", "mattsa", "marclove", "webiest", "brogers", "polomasta", "stephp", "mchelen", "piyush", "davidnorth", "rmetzler", "jferris", "madrobby", "zh", "erikvold", "desandro"]

Working with repositories

For convenience, methods that require a repo argument may be passed in any of the following forms

  • "pengwynn/linked"
  • {:username => 'pengwynn', :name => 'linkedin'}
  • {:username => 'pengwynn', :repo => 'linkedin'}
  • instance of Repo

Show a repo

Octopussy.repo("pengwynn/linkedin")
=> <#Hashie::Mash description="Ruby wrapper for the LinkedIn API" fork=false forks=1 homepage="http://bit.ly/ruby-linkedin" name="linkedin" open_issues=2 owner="pengwynn" private=false url="http://github.com/pengwynn/linkedin" watchers=36>

Authenticated requests

Some methods require authentication so you'll need to pass a login and an api_token. You can find your GitHub API token on your account page

client = Octopussy::Client.new(:login => 'pengwynn', :token => 'OU812')
client.follow!('adamstac')

Read the full docs or check out the examples

TODO

  • Feed parsing
  • More examples

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.

Credits

Octopussy is inspired by Octopi and aims to be a lightweight, less active-resourcey alternative.

Copyright

Copyright (c) 2009 Wynn Netherland, Adam Stacoviak. See LICENSE for details.