octopussy 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/.bundle/config +2 -0
  2. data/.document +4 -0
  3. data/.gitignore +22 -0
  4. data/Gemfile +3 -0
  5. data/Gemfile.lock +32 -0
  6. data/LICENSE +20 -0
  7. data/README.markdown +68 -0
  8. data/Rakefile +23 -0
  9. data/changelog.markdown +36 -0
  10. data/lib/octopussy.rb +1 -1
  11. data/lib/octopussy/client.rb +1 -1
  12. data/octopussy.gemspec +26 -0
  13. data/test/fixtures/blob.json +10 -0
  14. data/test/fixtures/branches.json +6 -0
  15. data/test/fixtures/close_issue.json +1 -0
  16. data/test/fixtures/collaborators.json +1 -0
  17. data/test/fixtures/comment.json +1 -0
  18. data/test/fixtures/contributors.json +6 -0
  19. data/test/fixtures/emails.json +1 -0
  20. data/test/fixtures/followers.json +3 -0
  21. data/test/fixtures/full_user.json +27 -0
  22. data/test/fixtures/issue.json +14 -0
  23. data/test/fixtures/issues.json +50 -0
  24. data/test/fixtures/keys.json +1 -0
  25. data/test/fixtures/labels.json +1 -0
  26. data/test/fixtures/languages.json +1 -0
  27. data/test/fixtures/list_branch_commits.json +48 -0
  28. data/test/fixtures/list_commits.json +824 -0
  29. data/test/fixtures/network.json +26 -0
  30. data/test/fixtures/network_data.json +1 -0
  31. data/test/fixtures/network_meta.json +109 -0
  32. data/test/fixtures/open_issue.json +1 -0
  33. data/test/fixtures/raw_git_data.yaml +7 -0
  34. data/test/fixtures/reopen_issue.json +1 -0
  35. data/test/fixtures/repo.json +14 -0
  36. data/test/fixtures/repo_search.json +452 -0
  37. data/test/fixtures/repos.json +830 -0
  38. data/test/fixtures/search.json +44 -0
  39. data/test/fixtures/show_commit.json +37 -0
  40. data/test/fixtures/tags.json +8 -0
  41. data/test/fixtures/timeline.json +1018 -0
  42. data/test/fixtures/trees.json +140 -0
  43. data/test/fixtures/user.json +16 -0
  44. data/test/helper.rb +0 -2
  45. metadata +134 -44
@@ -0,0 +1,2 @@
1
+ ---
2
+ BUNDLE_DISABLE_SHARED_GEMS: "1"
@@ -0,0 +1,4 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ features/**/*.feature
4
+ LICENSE
@@ -0,0 +1,22 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+ *.gem
21
+
22
+ ## PROJECT::SPECIFIC
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
@@ -0,0 +1,32 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ octopussy (0.3.1)
5
+ hashie (~> 0.4.0)
6
+ httparty (~> 0.6.1)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ crack (0.1.8)
12
+ fakeweb (1.3.0)
13
+ hashie (0.4.0)
14
+ httparty (0.6.1)
15
+ crack (= 0.1.8)
16
+ jnunemaker-matchy (0.4.0)
17
+ mocha (0.9.9)
18
+ rake
19
+ rake (0.8.7)
20
+ shoulda (2.11.3)
21
+
22
+ PLATFORMS
23
+ ruby
24
+
25
+ DEPENDENCIES
26
+ fakeweb (~> 1.3)
27
+ hashie (~> 0.4.0)
28
+ httparty (~> 0.6.1)
29
+ jnunemaker-matchy (~> 0.4.0)
30
+ mocha (~> 0.9)
31
+ octopussy!
32
+ shoulda (~> 2.11)
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Wynn Netherland
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,68 @@
1
+ # octopussy
2
+
3
+ <img src='http://upload.wikimedia.org/wikipedia/en/b/bb/007Octopussyposter.jpg' style='float: right; margin: 0 0 10px 10px'/>
4
+
5
+ Simple Ruby wrapper for the GitHub v2 API.
6
+
7
+ ## Installation
8
+
9
+ sudo gem install octopussy
10
+
11
+ ## Some examples
12
+
13
+ ### Show a user
14
+
15
+ Octopussy.user('pengwynn')
16
+ => <#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>
17
+
18
+ ### Show who a user follows
19
+
20
+ Octopussy.following('pengwynn')
21
+ => ["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"]
22
+
23
+ ## Working with repositories
24
+
25
+ For convenience, methods that require a repo argument may be passed in any of the following forms
26
+
27
+ * "pengwynn/linked"
28
+ * {:username => 'pengwynn', :name => 'linkedin'}
29
+ * {:username => 'pengwynn', :repo => 'linkedin'}
30
+ * instance of Repo
31
+
32
+ ### Show a repo
33
+
34
+ Octopussy.repo("pengwynn/linkedin")
35
+ => <#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>
36
+
37
+ ## Authenticated requests
38
+
39
+ 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](https://github.com/account)
40
+
41
+ client = Octopussy::Client.new(:login => 'pengwynn', :token => 'OU812')
42
+ client.follow!('adamstac')
43
+
44
+ Read the full [docs](http://rdoc.info/projects/pengwynn/octopussy) or check out the [examples](http://github.com/pengwynn/octopussy/tree/master/examples)
45
+
46
+ ## TODO
47
+
48
+ * Feed parsing
49
+ * More examples
50
+
51
+ ## Note on Patches/Pull Requests
52
+
53
+ * Fork the project.
54
+ * Make your feature addition or bug fix.
55
+ * Add tests for it. This is important so I don't break it in a
56
+ future version unintentionally.
57
+ * Commit, do not mess with rakefile, version, or history.
58
+ (if you want to have your own version, that is fine but
59
+ bump version in a commit by itself I can ignore when I pull)
60
+ * Send me a pull request. Bonus points for topic branches.
61
+
62
+ ## Credits
63
+
64
+ Octopussy is inspired by [Octopi](http://github.com/fcoury/octopi) and aims to be a lightweight, less active-resourcey alternative.
65
+
66
+ ## Copyright
67
+
68
+ Copyright (c) 2009 [Wynn Netherland](http://wynnnetherland.com), [Adam Stacoviak](http://adamstacoviak.com/). See LICENSE for details.
@@ -0,0 +1,23 @@
1
+ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
2
+ require "bundler/version"
3
+ require "shoulda/tasks"
4
+ require 'lib/octopussy'
5
+
6
+ require "rake/testtask"
7
+ Rake::TestTask.new(:test) do |test|
8
+ test.ruby_opts = ["-rubygems"] if defined? Gem
9
+ test.libs << "lib" << "test"
10
+ test.pattern = "test/**/*_test.rb"
11
+ end
12
+
13
+ desc "Build the gem"
14
+ task :build do
15
+ system "gem build octopussy.gemspec"
16
+ end
17
+
18
+ desc "Build and release the gem"
19
+ task :release => :build do
20
+ system "gem push octopussy-#{Octopussy::VERSION}.gem"
21
+ end
22
+
23
+ task :default => :test
@@ -0,0 +1,36 @@
1
+ # Changelog
2
+ ## 0.3.1
3
+ * Bumped HTTParty dependency
4
+ ## 0.3.0
5
+ * Added set_repo_info patch from [Scott Bronson](http://github.com/bronson)
6
+ ## 0.2.4
7
+ * Rev'd HTTParty dependency, switched to Bundler
8
+ ## 0.2.3
9
+ * Patch from [Sutto](http://github.com/Sutto) to use authentication with list repos if available
10
+ ## 0.2.2
11
+ * Patch from [abrader](http://github.com/abrader) to add auth_params query to the blob, tree, and repo class methods
12
+ ## 0.2.1
13
+ * Contributors API courtesy of @enricob
14
+ ## 0.2.0
15
+ * Commits API courtesy of @enricob
16
+
17
+ ## 0.1.4
18
+
19
+ * Preserved links array and content for events parsed from feeds
20
+
21
+ ## 0.1.3
22
+
23
+ * Added Download event
24
+
25
+ ## 0.1.2
26
+
27
+ * Added Delete event type
28
+ * Added Public event type
29
+
30
+ ## 0.1.1
31
+
32
+ * Added Comment event type
33
+
34
+ ## 0.0.1 Initial version
35
+
36
+ * GitHub v2 API complete
@@ -14,7 +14,7 @@ require 'octopussy/client'
14
14
  module Octopussy
15
15
  extend SingleForwardable
16
16
 
17
- VERSION = "0.3.0".freeze
17
+ VERSION = "0.3.1" unless defined?(Octopussy::VERSION)
18
18
 
19
19
  class OctopussyError < StandardError
20
20
  attr_reader :data
@@ -203,7 +203,7 @@ module Octopussy
203
203
  def delete(repo, delete_token={})
204
204
  repo = Repo.new(repo)
205
205
  response = self.class.post("/repos/delete/#{repo.name}", :query => auth_params, :body => {:delete_token => delete_token})
206
- Hashie::Mash.new(response).repository
206
+ Hashie::Mash.new(response)
207
207
  end
208
208
 
209
209
  def confirm_delete(repo, delete_token)
@@ -0,0 +1,26 @@
1
+ require 'bundler'
2
+ require 'bundler/version'
3
+
4
+ require File.expand_path('lib/octopussy')
5
+
6
+ Gem::Specification.new do |s|
7
+ s.add_development_dependency('fakeweb', '~> 1.3')
8
+ s.add_development_dependency('jnunemaker-matchy', '~> 0.4.0')
9
+ s.add_development_dependency('mocha', '~> 0.9')
10
+ s.add_development_dependency('shoulda', '~> 2.11')
11
+ s.add_runtime_dependency('hashie', '~> 0.4.0')
12
+ s.add_runtime_dependency('httparty', '~> 0.6.1')
13
+ s.name = "octopussy"
14
+ s.authors = ["Wynn Netherland", "Adam Stacoviak"]
15
+ s.description = %q{Simple wrapper for the GitHub API v2}
16
+ s.email = ["wynn.netherland@gmail.com"]
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
18
+ s.files = `git ls-files`.split("\n")
19
+ s.homepage = "http://wynnnetherland.com/projects/octopussy/"
20
+ s.require_paths = ["lib"]
21
+ s.summary = %q{Wrapper for the Octopussy API}
22
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
23
+ s.version = Octopussy::VERSION
24
+ s.platform = Gem::Platform::RUBY
25
+ s.required_rubygems_version = Gem::Requirement.new('>= 1.3.6') if s.respond_to? :required_rubygems_version=
26
+ end
@@ -0,0 +1,10 @@
1
+ {
2
+ "blob": {
3
+ "name": "README.txt",
4
+ "size": 178,
5
+ "sha": "d4fc2d5e810d9b4bc1ce67702603080e3086a4ed",
6
+ "data": "Please visit http://famspam.com/facebox/ or open index.html in your favorite browser.nnNeed help? Join our Google Groups mailing list:n http://groups.google.com/group/facebox/n",
7
+ "mode": "100644",
8
+ "mime_type": "text/plain"
9
+ }
10
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "branches": {
3
+ "integration": "e5bb86437ec67c115eee85ce6bf0b3b513946cee",
4
+ "master": "a202fb290bac4a488f6aee9f2d30ee0738e08602"
5
+ }
6
+ }
@@ -0,0 +1 @@
1
+ {"issue":{"number":2,"votes":0,"created_at":"2009/12/10 12:14:34 -0800","body":"testing api","title":"testing","updated_at":"2009/12/10 12:18:52 -0800","closed_at":"2009/12/10 12:18:52 -0800","user":"pengwynn","labels":[],"state":"closed"}}
@@ -0,0 +1 @@
1
+ {"collaborators":["pengwynn","adamstac"]}
@@ -0,0 +1 @@
1
+ {"comment": {"comment": "Nice catch!", "status": "saved"}}
@@ -0,0 +1,6 @@
1
+ {
2
+ "contributors": [
3
+ ["pengwynn", 39],
4
+ ["holman", 1]
5
+ ]
6
+ }
@@ -0,0 +1 @@
1
+ {"emails":["wynn@squeejee.com","wynn.netherland@gmail.com","wynn@orrka.com"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "users": ["cglee", "mattsa", "zachinglis", "seaofclouds", "njonsson", "davidnorth", "stephp", "polomasta", "webiest", "mchelen", "brogers", "marclove", "adamstac", "marshall", "handcrafted", "asenchi", "piyush", "rmetzler", "nileshtrivedi", "erikvold", "thechangelog"]
3
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "user": {
3
+ "plan": {
4
+ "name": "free",
5
+ "collaborators": 0,
6
+ "space": 307200,
7
+ "private_repos": 0
8
+ },
9
+ "name": "Wynn Netherland",
10
+ "company": "Orrka",
11
+ "location": "Dallas, TX",
12
+ "created_at": "2008/02/25 10:24:19 -0800",
13
+ "collaborators": 0,
14
+ "disk_usage": 85605,
15
+ "public_gist_count": 3,
16
+ "public_repo_count": 15,
17
+ "blog": "http://wynnnetherland.com",
18
+ "following_count": 55,
19
+ "id": 865,
20
+ "private_gist_count": 1,
21
+ "owned_private_repo_count": 0,
22
+ "total_private_repo_count": 0,
23
+ "followers_count": 21,
24
+ "login": "pengwynn",
25
+ "email": "wynn.netherland@gmail.com"
26
+ }
27
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "issue": {
3
+ "number": 3,
4
+ "votes": 2,
5
+ "created_at": "2009/05/06 17:28:29 -0700",
6
+ "body": "Not sure if this is an issue with Crack or with this lib, but every time I try to create a friendship, I get this error:rnrn>> base.friendship_create('anyone')rnCrack::ParseError: Invalid JSON stringrntfrom /Library/Ruby/Gems/1.8/gems/crack-0.1.2/lib/crack/json.rb:14:in `parse'rntfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/request.rb:73:in `parse'rntfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/request.rb:48:in `make_friendly'rntfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/request.rb:34:in `perform'rntfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/request.rb:10:in `post'rntfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/base.rb:162:in `perform_post'rntfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/base.rb:76:in `friendship_create'rn",
7
+ "title": "Crack error when creating friendship",
8
+ "updated_at": "2009/08/17 14:25:17 -0700",
9
+ "closed_at": null,
10
+ "user": "shanev",
11
+ "labels": [],
12
+ "state": "open"
13
+ }
14
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "issues": [{
3
+ "number": 3,
4
+ "votes": 2,
5
+ "created_at": "2009/05/06 17:28:29 -0700",
6
+ "body": "Not sure if this is an issue with Crack or with this lib, but every time I try to create a friendship, I get this error:\r\n\r\n>> base.friendship_create('anyone')\r\nCrack::ParseError: Invalid JSON string\r\n\tfrom /Library/Ruby/Gems/1.8/gems/crack-0.1.2/lib/crack/json.rb:14:in `parse'\r\n\tfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/request.rb:73:in `parse'\r\n\tfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/request.rb:48:in `make_friendly'\r\n\tfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/request.rb:34:in `perform'\r\n\tfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/request.rb:10:in `post'\r\n\tfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/base.rb:162:in `perform_post'\r\n\tfrom /Library/Ruby/Gems/1.8/gems/twitter-0.6.8/lib/twitter/base.rb:76:in `friendship_create'\r\n",
7
+ "title": "Crack error when creating friendship",
8
+ "updated_at": "2009/08/17 14:25:17 -0700",
9
+ "closed_at": null,
10
+ "user": "shanev",
11
+ "labels": [],
12
+ "state": "open"
13
+ },
14
+ {
15
+ "number": 6,
16
+ "votes": 2,
17
+ "created_at": "2009/06/07 12:28:24 -0700",
18
+ "body": "The methods on the Twitter class (firehose, friend_ids, follower_ids, status, user) assume that no errors will occur, but all of them can at least return a 50x error. An example using FakeWeb:\r\n\r\n<pre>\r\n>> FakeWeb.register_uri(:get, 'http://twitter.com/statuses/public_timeline.json',\r\n?> :string => '{\"request\":\"\\/statuses\\/public_timeline.json\",\"error\":\"Bad gateway\"}',\r\n?> :status => ['502', 'Bad Gateway'])\r\n=> [#<FakeWeb::Responder:0x7f3b2138 @options={:status=>[\"502\", \"Bad Gateway\"], :string=>\"{\\\"request\\\":\\\"\\\\/statuses\\\\/public_timeline.json\\\",\\\"error\\\":\\\"Bad gateway\\\"}\"}, @method=:get, @uri=\"http://twitter.com/statuses/public_timeline.json\", @times=1>]\r\n>> Twitter.firehose\r\nNoMethodError: undefined method `stringify_keys' for [\"request\", \"/statuses/public_timeline.json\"]:Array\r\n from /usr/lib/ruby/gems/1.8/gems/mash-0.0.3/lib/mash.rb:131:in `deep_update'\r\n from /usr/lib/ruby/gems/1.8/gems/mash-0.0.3/lib/mash.rb:50:in `initialize'\r\n from /usr/lib/ruby/gems/1.8/gems/twitter-0.6.11/lib/twitter.rb:34:in `new'\r\n from /usr/lib/ruby/gems/1.8/gems/twitter-0.6.11/lib/twitter.rb:34:in `firehose' \r\n</pre>",
19
+ "title": "Methods on Twitter class don't check for errors",
20
+ "updated_at": "2009/10/29 16:28:45 -0700",
21
+ "closed_at": null,
22
+ "user": "bkocik",
23
+ "labels": [],
24
+ "state": "open"
25
+ },
26
+ {
27
+ "number": 8,
28
+ "votes": 0,
29
+ "created_at": "2009/06/17 14:40:43 -0700",
30
+ "body": "When you request a search with a :since_id parameter too old, according to [Twitter](http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search):\r\n\r\n> This method will return an HTTP 404 error if since_id is used and is too old to be in the search index\r\n\r\nwhich results in a +Crack::ParseError+ exception",
31
+ "title": "Error handling 404 from Twitter::Search (JSON error)",
32
+ "updated_at": "2009/06/17 14:40:43 -0700",
33
+ "closed_at": null,
34
+ "user": "chubas",
35
+ "labels": [],
36
+ "state": "open"
37
+ },
38
+ {
39
+ "number": 9,
40
+ "votes": 3,
41
+ "created_at": "2009/06/18 07:53:09 -0700",
42
+ "body": "happens periodically, presumably when twitter search services returns a string for a response instead of a hash?",
43
+ "title": "stringify_keys error in Mash.new when using Twitter::search",
44
+ "updated_at": "2009/11/12 08:52:13 -0800",
45
+ "closed_at": null,
46
+ "user": "metrostar",
47
+ "labels": [],
48
+ "state": "open"
49
+ }]
50
+ }
@@ -0,0 +1 @@
1
+ {"public_keys":[{"title":null,"id":2102,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAAddBIwAAAasdfasdfQEAxfm4eG+Dasd3b/d41W3BR8h9IOv63ISyaVTVXLsiwAfGZw17Kc9xpdp1NblqvDIj+T1bI6U420/Jb5tBw0MlltgUxwwySVH1f37w89VzdC7ArsR6X3KOIz/fhtmUCNyPakO+BjKjK3MtLcQvrNY5s0B91D/klP1pgcGVUzJxw5kCtZ6By3HjGXDK5lW9qMAG93ncrFc6tTE3WQ30Wgcsqf+uNmc9tyR5cO0asKneDaz1t486ydF9P97dzwM+SMY9GcpZ2gvOp0UHdA59Wr3LEE6/EqGxAxRDrT/1wtPk5Ya1TEWWX+WdlfZ1zttd3h7dkVom1cKWCa262mU3THoe5aytJw=="},{"title":null,"id":2686,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw4GP0832tasCsbl2QcEehotpcjfMMgbep9xWuf0T6fmMXgLI9QkiPdjA2oqxdJp7l33Echsb5gVjbY+96KPd9Q6Q7FM9Si9srfJpw2folq89+LJWBYe0qw3BMDFfmBtcmTMZT1NWzZ1RT/crPqDSEGYMny9s2jR3spL2K8R9dcWalFgpasRbfEacr7xUvFbIcxeU2xsWvTjA8+YwoU2pc3tG8XX8LMMRdzadN5L9rOrxlo6XybOH6KgKPA02jKbdmsbIZ3umHylMdTckjLWSDut+7ACD+7ztuPkH9Ya9lYWBzn8kVzwL91+4T8RbYndD0VqS4GpuL2AOqVrDHMrsjw=="},{"title":null,"id":17725,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxvbvBp9ugiuHPr8LvhAjO1qHmzNSJp/SpJoP0ZXfVVR4+m9fti2Kuf5efgDIKsW4l1ODCuhuQLaa5TB+X4/uZB8PUKtZaUswNRfN/w8fzX24+pEMq9Jf2l++Nz7xyA1PngSLeZ/FWbFP5Nl8DnOnb1GiLIcGPb0rMZ4CvoxwNtp8bb2F5HVVSF0n2cyJvsb+ZqQRZwejYmLlrzagUAfrz0BWDkGw2QitZhIsy7XaqK+jDM8k9qugk19n69e5VVYZYLvFUJ16aX+zhWsx5+Li2jXFlJcYpadV3KjY4+KF2I26idO/qhQv31+QH9/gTQxKZKsWWbjFMfDlzoquG9FtZw=="},{"title":null,"id":22206,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6JdBPCEoeH3nl93pjzkw88bJ3YSaZLUhe3rWULadU/fL0vxtRBaiRAfsSIq1/ank8fLnrl3TquQq26DOrZWyam4ODHQRzHdN4MlE3kH8tSHoRedwuzFyAjCC23QpLD+4vGwhyrJmuebT13mn2t0rbnOZMpKY1f9r97Tbhx6/sMIE+n6zaWBg/miOWMaR2rQ048vNuaA+hhJz+MdU6VL94GxchuQ7eeCP1tucbEG6qQraRhvWqV2GRDJ86Xc34uC2eMQaybk+UHH4TSe9DNYSRRpHWS5IgAPZHO267X3uOhSDOOXHQx/liVVWd6PTcJQkQ6u0W8hNBQVUZAHnTgG9cQ=="},{"title":"pengwynn","id":42883,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2QU45StpDGCM9KJgaIzv6/GXsUO8mrpOkfevd2ht7IMN5Fdl2R7jjCjv9eZmIWieBWsKiFUq2T5/+royc7jjHjGd9s8FGYIi9nACNblzDLT1w6WX6ORuS2LuUuq9uUdtAghbWImQSQDOpGaW73OCvBSuZKKKvqwSXsOFhstfwYaOLzfF9xdCVd02DJY75QSiUkNaaB4300yqQlVYdrtz2akXLXpxlzojALcoAHefuCOK7C8/J3LCiPVGftBZ7Fab6k6LV7rguhcfkyg4bwzAMMOcwx+AUj1WLv4rdDJOi4X6xJzEBitvhJFTQ4ynGXmaalKGwSzaIhByG74JsGq7Ew=="},{"title":"wynn@pengwynn.local","id":111978,"key":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlugsW063BAHaUOYSJa+6T1/lKCIptIBXjppAXwnALKYJCfSTnQjEXhAv8CDXLkVDlF11A1rqYrHuVs/CdVJblRXfmHAhSy+3GcYqyrBNdRJtu/R1+ziDiAnSOTyZjLFwJwovy7coRJ4o2ZaZZkYhBQe6Th6cTtPFIho8yab3plxWzL7MvF6MPwIW3vJO38Z8c91SHBWQqbKBtLwjkWYjZSyu+MSB5BUXBIB6AcHcQOP0/0q/4rO4dk4qjkH5rXqa29knoCBHjpMJB7L3v0BedSzPN3/O7xwE85mok1OZaIYjFqNgSnEw3VVOiuJ95EVHN6ELR/gWbEYddvkRZUo8Pw=="}]}
@@ -0,0 +1 @@
1
+ {"labels":["oauth"]}
@@ -0,0 +1 @@
1
+ {"languages":{"Ruby":21515}}
@@ -0,0 +1,48 @@
1
+ {
2
+ "commits": [
3
+ {
4
+ "author": {
5
+ "name": "Scott Chacon",
6
+ "login": "schacon",
7
+ "email": "schacon@gmail.com"
8
+ },
9
+ "parents": [
10
+ {
11
+ "id": "a11bef06a3f659402fe7563abf99ad00de2209e6"
12
+ }
13
+ ],
14
+ "url": "http:\/\/github.com\/schacon\/simplegit\/commit\/085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7",
15
+ "id": "085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7",
16
+ "committed_date": "2009-04-17T21:55:53-07:00",
17
+ "authored_date": "2008-03-15T16:40:33-07:00",
18
+ "message": "removed unnecessary test code",
19
+ "committer": {
20
+ "name": "Scott Chacon",
21
+ "login": "schacon",
22
+ "email": "schacon@gmail.com"
23
+ },
24
+ "tree": "e1b3ececb0cbaf2320ca3eebb8aa2beb1bb45c66"
25
+ },
26
+ {
27
+ "author": {
28
+ "name": "Scott Chacon",
29
+ "login": "schacon",
30
+ "email": "schacon@gmail.com"
31
+ },
32
+ "parents": [
33
+
34
+ ],
35
+ "url": "http:\/\/github.com\/schacon\/simplegit\/commit\/a11bef06a3f659402fe7563abf99ad00de2209e6",
36
+ "id": "a11bef06a3f659402fe7563abf99ad00de2209e6",
37
+ "committed_date": "2008-03-15T10:31:28-07:00",
38
+ "authored_date": "2008-03-15T10:31:28-07:00",
39
+ "message": "first commit",
40
+ "committer": {
41
+ "name": "Scott Chacon",
42
+ "login": "schacon",
43
+ "email": "schacon@gmail.com"
44
+ },
45
+ "tree": "1a738da87a85f2b1c49c1421041cf41d1d90d434"
46
+ }
47
+ ]
48
+ }