= octopi Octopi is a Ruby interface to GitHub API v2 (http://develop.github.com). It's under early but active development and already works. == Example include Octopi # user information user = User.find("fcoury") puts "#{user.name} is being followed by #{user.followers.join(", ")} and following #{user.following.join(", ")}" # the bang version of followers and following # fetches user object for each user, but is # a lot more expensive user.followers!.each do |u| puts " - #{u.name} (#{u.login}) has #{u.public_repo_count} repo(s)" end # search user users = User.find_all("silva") puts "#{users.size} users found for 'silva':" users.each do |u| puts " - #{u.name}" end # repository information # to get all repos for user: user.repositories repo = user.repository("octopi") # same as: Repository.find("fcoury", "octopi") puts "Repository: #{repo.name} - #{repo.description} (by #{repo.owner}) - #{repo.url}" # commits of a the repository first_commit = repo.commits.first puts "First commit: #{first_commit.id} - #{first_commit.message} - by #{first_commit.author['name']}" # single commit information # details is the same as: Commit.find(commit) puts "Diff:" first_commit.details.modified.each {|m| puts "#{m['filename']} DIFF: #{m['diff']}" } # repository search repos = Repository.find_all("ruby", "git") puts "#{repos.size} repository(ies) with 'ruby' and 'git':" repos.each do |r| puts " - #{r.name}" end == Author Felipe Coury - http://felipecoury.com
HasMany.info blog - http://hasmany.info == Copyright DISCLAIMER: The name of this library is pronounced octo-pie but no Octocats were harmed during its creation. It's not really an Octo Pie, but a contraction of the words Octocat and API. Copyright (c) 2009 Felipe Coury. See LICENSE for details.