githu3 0.0.2

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 (63) hide show
  1. data/.autotest +3 -0
  2. data/.document +5 -0
  3. data/.gitignore +22 -0
  4. data/.rspec +4 -0
  5. data/.travis.yml +8 -0
  6. data/Gemfile +11 -0
  7. data/LICENSE.txt +20 -0
  8. data/README.rdoc +20 -0
  9. data/Rakefile +16 -0
  10. data/githu3.gemspec +34 -0
  11. data/lib/githu3/branch.rb +4 -0
  12. data/lib/githu3/client.rb +68 -0
  13. data/lib/githu3/comment.rb +5 -0
  14. data/lib/githu3/event.rb +5 -0
  15. data/lib/githu3/issue.rb +9 -0
  16. data/lib/githu3/key.rb +4 -0
  17. data/lib/githu3/label.rb +5 -0
  18. data/lib/githu3/milestone.rb +5 -0
  19. data/lib/githu3/org.rb +20 -0
  20. data/lib/githu3/repo.rb +16 -0
  21. data/lib/githu3/resource.rb +64 -0
  22. data/lib/githu3/tag.rb +4 -0
  23. data/lib/githu3/team.rb +14 -0
  24. data/lib/githu3/user.rb +13 -0
  25. data/lib/githu3/version.rb +3 -0
  26. data/lib/githu3.rb +30 -0
  27. data/spec/fixtures/all_repos.json +54 -0
  28. data/spec/fixtures/issues/comments.json +41 -0
  29. data/spec/fixtures/issues/event.json +12 -0
  30. data/spec/fixtures/issues/events.json +14 -0
  31. data/spec/fixtures/me.json +31 -0
  32. data/spec/fixtures/orgs/github.json +18 -0
  33. data/spec/fixtures/orgs/rails.json +18 -0
  34. data/spec/fixtures/orgs.json +14 -0
  35. data/spec/fixtures/public_repos.json +132 -0
  36. data/spec/fixtures/repos/branches.json +23 -0
  37. data/spec/fixtures/repos/contributors.json +58 -0
  38. data/spec/fixtures/repos/faraday.json +31 -0
  39. data/spec/fixtures/repos/issue.json +53 -0
  40. data/spec/fixtures/repos/issues.json +55 -0
  41. data/spec/fixtures/repos/label.json +5 -0
  42. data/spec/fixtures/repos/labels.json +7 -0
  43. data/spec/fixtures/repos/milestone.json +17 -0
  44. data/spec/fixtures/repos/milestones.json +19 -0
  45. data/spec/fixtures/repos/tags.json +164 -0
  46. data/spec/fixtures/repos/teams.json +17 -0
  47. data/spec/fixtures/teams/1.json +8 -0
  48. data/spec/fixtures/teams/members.json +8 -0
  49. data/spec/fixtures/teams/repos.json +28 -0
  50. data/spec/fixtures/users/followers.json +80 -0
  51. data/spec/fixtures/users/following.json +182 -0
  52. data/spec/fixtures/users/orgs.json +8 -0
  53. data/spec/fixtures/users/repos.json +132 -0
  54. data/spec/fixtures/users/sbellity.json +20 -0
  55. data/spec/githu3/client_spec.rb +66 -0
  56. data/spec/githu3/issue_spec.rb +54 -0
  57. data/spec/githu3/org_spec.rb +79 -0
  58. data/spec/githu3/repo_spec.rb +100 -0
  59. data/spec/githu3/team_spec.rb +47 -0
  60. data/spec/githu3/user_spec.rb +47 -0
  61. data/spec/githu3_spec.rb +7 -0
  62. data/spec/helper.rb +21 -0
  63. metadata +334 -0
@@ -0,0 +1,80 @@
1
+ [
2
+ {
3
+ "url": "https://api.github.com/users/penso",
4
+ "login": "penso",
5
+ "id": 7703,
6
+ "avatar_url": "https://secure.gravatar.com/avatar/5b2bde5812466012d9dde870c258254f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
7
+ },
8
+ {
9
+ "url": "https://api.github.com/users/gmarabout",
10
+ "login": "gmarabout",
11
+ "id": 30989,
12
+ "avatar_url": "https://secure.gravatar.com/avatar/636c843240fc848f011aeff882c8c52d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
13
+ },
14
+ {
15
+ "url": "https://api.github.com/users/mathieuravaux",
16
+ "login": "mathieuravaux",
17
+ "id": 38495,
18
+ "avatar_url": "https://secure.gravatar.com/avatar/0ef5aaa4d393b0fbc1a8300d18b30c51?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
19
+ },
20
+ {
21
+ "url": "https://api.github.com/users/svetlyak40wt",
22
+ "login": "svetlyak40wt",
23
+ "id": 24827,
24
+ "avatar_url": "https://secure.gravatar.com/avatar/5b3558b0fd5ca9c08d9061a6e51b555a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
25
+ },
26
+ {
27
+ "url": "https://api.github.com/users/charlenopires",
28
+ "login": "charlenopires",
29
+ "id": 1365,
30
+ "avatar_url": "https://secure.gravatar.com/avatar/4f03547679f181e7aa0747f97990d9ff?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
31
+ },
32
+ {
33
+ "url": "https://api.github.com/users/xlvector",
34
+ "login": "xlvector",
35
+ "id": 100203,
36
+ "avatar_url": "https://secure.gravatar.com/avatar/aac41bb9eb0d9b614979b5710d5bfe5e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
37
+ },
38
+ {
39
+ "url": "https://api.github.com/users/banker",
40
+ "login": "banker",
41
+ "id": 11589,
42
+ "avatar_url": "https://secure.gravatar.com/avatar/e609907a6f936efa8279e3c579b6191b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
43
+ },
44
+ {
45
+ "url": "https://api.github.com/users/machaduss",
46
+ "login": "machaduss",
47
+ "id": 75219,
48
+ "avatar_url": "https://secure.gravatar.com/avatar/a6df0436b9ec87917e697b9acf803ecd?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
49
+ },
50
+ {
51
+ "url": "https://api.github.com/users/ntulip",
52
+ "login": "ntulip",
53
+ "id": 28819,
54
+ "avatar_url": "https://secure.gravatar.com/avatar/254c76877dc8f0406ff8dadd275c4d82?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
55
+ },
56
+ {
57
+ "url": "https://api.github.com/users/jeremyvdw",
58
+ "login": "jeremyvdw",
59
+ "id": 3919,
60
+ "avatar_url": "https://secure.gravatar.com/avatar/a1fb7a45c0cfadfe630ac49ecb5ef6bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
61
+ },
62
+ {
63
+ "url": "https://api.github.com/users/superfeedr",
64
+ "login": "superfeedr",
65
+ "id": 83422,
66
+ "avatar_url": "https://secure.gravatar.com/avatar/a2f7d4dd6df7dd59e4adab811c00a3a1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
67
+ },
68
+ {
69
+ "url": "https://api.github.com/users/stormbrew",
70
+ "login": "stormbrew",
71
+ "id": 54328,
72
+ "avatar_url": "https://secure.gravatar.com/avatar/a90fe4fd62b350e9fac730c99c649be4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
73
+ },
74
+ {
75
+ "url": "https://api.github.com/users/mtsoerin",
76
+ "login": "mtsoerin",
77
+ "id": 643236,
78
+ "avatar_url": "https://secure.gravatar.com/avatar/50be7ccda1a6f9f895a2cdf4615eed6e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"
79
+ }
80
+ ]
@@ -0,0 +1,182 @@
1
+ [
2
+ {
3
+ "url": "https://api.github.com/orgs/37signals",
4
+ "login": "37signals",
5
+ "avatar_url": "https://secure.gravatar.com/avatar/349210726e1ce6aa21840f665749fe0d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png",
6
+ "id": 13131
7
+ },
8
+ {
9
+ "url": "https://api.github.com/users/penso",
10
+ "login": "penso",
11
+ "avatar_url": "https://secure.gravatar.com/avatar/5b2bde5812466012d9dde870c258254f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
12
+ "id": 7703
13
+ },
14
+ {
15
+ "url": "https://api.github.com/users/jonathanbelolo",
16
+ "login": "jonathanbelolo",
17
+ "avatar_url": "https://secure.gravatar.com/avatar/eb969a298c3677f957ba858d773f3e0e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
18
+ "id": 32671
19
+ },
20
+ {
21
+ "url": "https://api.github.com/users/gmarabout",
22
+ "login": "gmarabout",
23
+ "avatar_url": "https://secure.gravatar.com/avatar/636c843240fc848f011aeff882c8c52d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
24
+ "id": 30989
25
+ },
26
+ {
27
+ "url": "https://api.github.com/users/davidrichards",
28
+ "login": "davidrichards",
29
+ "avatar_url": "https://secure.gravatar.com/avatar/bc6c0fd7296921fb7eae416f7c9e86a1?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
30
+ "id": 11128
31
+ },
32
+ {
33
+ "url": "https://api.github.com/users/dima",
34
+ "login": "dima",
35
+ "avatar_url": "https://secure.gravatar.com/avatar/4d0cafc12f4241d5ac68407faa9c24b6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
36
+ "id": 9495
37
+ },
38
+ {
39
+ "url": "https://api.github.com/users/tmm1",
40
+ "login": "tmm1",
41
+ "avatar_url": "https://secure.gravatar.com/avatar/d47656e20ff5e42f125fc5ea0fd636c6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
42
+ "id": 2567
43
+ },
44
+ {
45
+ "url": "https://api.github.com/orgs/mongodb",
46
+ "login": "mongodb",
47
+ "avatar_url": "https://secure.gravatar.com/avatar/5ae90e7594b1a7524d6101f64da1a3ba?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png",
48
+ "id": 45120
49
+ },
50
+ {
51
+ "url": "https://api.github.com/users/bratta",
52
+ "login": "bratta",
53
+ "avatar_url": "https://secure.gravatar.com/avatar/d1c1ba7899a732839f524652c2f03910?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
54
+ "id": 8271
55
+ },
56
+ {
57
+ "url": "https://api.github.com/users/erh",
58
+ "login": "erh",
59
+ "avatar_url": "https://secure.gravatar.com/avatar/3a65e56654f15efab9adabf24d96d9c8?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
60
+ "id": 12109
61
+ },
62
+ {
63
+ "url": "https://api.github.com/users/mathieuravaux",
64
+ "login": "mathieuravaux",
65
+ "avatar_url": "https://secure.gravatar.com/avatar/0ef5aaa4d393b0fbc1a8300d18b30c51?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
66
+ "id": 38495
67
+ },
68
+ {
69
+ "url": "https://api.github.com/users/tuulos",
70
+ "login": "tuulos",
71
+ "avatar_url": "https://secure.gravatar.com/avatar/dd0a54eed20a2f20b43b32e37ec623d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
72
+ "id": 18241
73
+ },
74
+ {
75
+ "url": "https://api.github.com/users/stevej",
76
+ "login": "stevej",
77
+ "avatar_url": "https://secure.gravatar.com/avatar/433ae7033c76750e7daef3fc9128aae5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
78
+ "id": 5834
79
+ },
80
+ {
81
+ "url": "https://api.github.com/users/pjstadig",
82
+ "login": "pjstadig",
83
+ "avatar_url": "https://secure.gravatar.com/avatar/9b945bfeebdf25fb6c9adc6ea7756c8c?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
84
+ "id": 5656
85
+ },
86
+ {
87
+ "url": "https://api.github.com/users/nel",
88
+ "login": "nel",
89
+ "avatar_url": "https://secure.gravatar.com/avatar/6c272e38e6144586b00f90a0f06a90f0?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
90
+ "id": 7854
91
+ },
92
+ {
93
+ "url": "https://api.github.com/users/hadley",
94
+ "login": "hadley",
95
+ "avatar_url": "https://secure.gravatar.com/avatar/7ba164f40a50bc23dbb2aa825fb7bc16?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
96
+ "id": 4196
97
+ },
98
+ {
99
+ "url": "https://api.github.com/users/mrflip",
100
+ "login": "mrflip",
101
+ "avatar_url": "https://secure.gravatar.com/avatar/99df54e24a1bed7d0edb6c51e7010d17?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
102
+ "id": 6128
103
+ },
104
+ {
105
+ "url": "https://api.github.com/users/tilgovi",
106
+ "login": "tilgovi",
107
+ "avatar_url": "https://secure.gravatar.com/avatar/7129ff665d962af537bf7a01f392396d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
108
+ "id": 20818
109
+ },
110
+ {
111
+ "url": "https://api.github.com/orgs/facebook",
112
+ "login": "facebook",
113
+ "avatar_url": "https://secure.gravatar.com/avatar/193c1a93276f729041fc875cf2a20773?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png",
114
+ "id": 69631
115
+ },
116
+ {
117
+ "url": "https://api.github.com/users/jab",
118
+ "login": "jab",
119
+ "avatar_url": "https://secure.gravatar.com/avatar/98b17f75c19fab97993daffed954487f?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
120
+ "id": 64992
121
+ },
122
+ {
123
+ "url": "https://api.github.com/users/relevance",
124
+ "login": "relevance",
125
+ "avatar_url": "https://secure.gravatar.com/avatar/62dbc2a44dfb59d37e47b150fe68f8df?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
126
+ "id": 2853
127
+ },
128
+ {
129
+ "url": "https://api.github.com/users/tobi",
130
+ "login": "tobi",
131
+ "avatar_url": "https://secure.gravatar.com/avatar/43bc2bd2f4f5eea925e61a3eb61362b4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
132
+ "id": 347
133
+ },
134
+ {
135
+ "url": "https://api.github.com/users/tlrobinson",
136
+ "login": "tlrobinson",
137
+ "avatar_url": "https://secure.gravatar.com/avatar/b8b1657e3d9725114383b2763d367a3a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
138
+ "id": 18193
139
+ },
140
+ {
141
+ "url": "https://api.github.com/users/banker",
142
+ "login": "banker",
143
+ "avatar_url": "https://secure.gravatar.com/avatar/e609907a6f936efa8279e3c579b6191b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
144
+ "id": 11589
145
+ },
146
+ {
147
+ "url": "https://api.github.com/users/janl",
148
+ "login": "janl",
149
+ "avatar_url": "https://secure.gravatar.com/avatar/2af516fdc33afea661fb3b32c769c9cc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
150
+ "id": 11321
151
+ },
152
+ {
153
+ "url": "https://api.github.com/users/mxcl",
154
+ "login": "mxcl",
155
+ "avatar_url": "https://secure.gravatar.com/avatar/25ff3dfe48d3847ecf9971aab99589fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
156
+ "id": 58962
157
+ },
158
+ {
159
+ "url": "https://api.github.com/users/jeremyvdw",
160
+ "login": "jeremyvdw",
161
+ "avatar_url": "https://secure.gravatar.com/avatar/a1fb7a45c0cfadfe630ac49ecb5ef6bc?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
162
+ "id": 3919
163
+ },
164
+ {
165
+ "url": "https://api.github.com/users/stormbrew",
166
+ "login": "stormbrew",
167
+ "avatar_url": "https://secure.gravatar.com/avatar/a90fe4fd62b350e9fac730c99c649be4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
168
+ "id": 54328
169
+ },
170
+ {
171
+ "url": "https://api.github.com/users/SFEley",
172
+ "login": "SFEley",
173
+ "avatar_url": "https://secure.gravatar.com/avatar/994e42bda994be2cd1d791f18ee6d561?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
174
+ "id": 8199
175
+ },
176
+ {
177
+ "url": "https://api.github.com/users/onesocialweb",
178
+ "login": "onesocialweb",
179
+ "avatar_url": "https://secure.gravatar.com/avatar/cffc42fae43279e2041b62b49df415fa?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
180
+ "id": 186946
181
+ }
182
+ ]
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "url": "https://api.github.com/orgs/sixdegrees",
4
+ "login": "sixdegrees",
5
+ "avatar_url": "https://secure.gravatar.com/avatar/1605f681326408ae4ce7136509af5205?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png",
6
+ "id": 334012
7
+ }
8
+ ]
@@ -0,0 +1,132 @@
1
+ [
2
+ {
3
+ "url": "https://api.github.com/repos/sbellity/futon4mongo",
4
+ "clone_url": "https://github.com/sbellity/futon4mongo.git",
5
+ "open_issues": 1,
6
+ "homepage": "",
7
+ "html_url": "https://github.com/sbellity/futon4mongo",
8
+ "git_url": "git://github.com/sbellity/futon4mongo.git",
9
+ "language": "JavaScript",
10
+ "forks": 17,
11
+ "svn_url": "https://svn.github.com/sbellity/futon4mongo",
12
+ "fork": false,
13
+ "watchers": 164,
14
+ "pushed_at": "2010-10-09T12:30:08Z",
15
+ "created_at": "2009-08-30T17:47:27Z",
16
+ "private": false,
17
+ "size": 856,
18
+ "owner": {
19
+ "url": "https://api.github.com/users/sbellity",
20
+ "avatar_url": "https://secure.gravatar.com/avatar/9abf3d284748357bb044d3386796ecd6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
21
+ "login": "sbellity",
22
+ "id": 4250
23
+ },
24
+ "name": "futon4mongo",
25
+ "description": "A port of CouchDB's Futon web interface to MongoDB",
26
+ "ssh_url": "git@github.com:sbellity/futon4mongo.git"
27
+ },
28
+ {
29
+ "url": "https://api.github.com/repos/sbellity/serializr",
30
+ "clone_url": "https://github.com/sbellity/serializr.git",
31
+ "open_issues": 0,
32
+ "homepage": null,
33
+ "html_url": "https://github.com/sbellity/serializr",
34
+ "git_url": "git://github.com/sbellity/serializr.git",
35
+ "language": null,
36
+ "forks": 1,
37
+ "svn_url": "https://svn.github.com/sbellity/serializr",
38
+ "fork": false,
39
+ "watchers": 2,
40
+ "pushed_at": "2010-06-30T08:35:05Z",
41
+ "created_at": "2010-06-26T16:45:55Z",
42
+ "private": false,
43
+ "size": 504,
44
+ "owner": {
45
+ "url": "https://api.github.com/users/sbellity",
46
+ "avatar_url": "https://secure.gravatar.com/avatar/9abf3d284748357bb044d3386796ecd6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
47
+ "login": "sbellity",
48
+ "id": 4250
49
+ },
50
+ "name": "serializr",
51
+ "description": "TODO: one-line summary of your gem",
52
+ "ssh_url": "git@github.com:sbellity/serializr.git"
53
+ },
54
+ {
55
+ "url": "https://api.github.com/repos/sbellity/graylog2-web-interface",
56
+ "clone_url": "https://github.com/sbellity/graylog2-web-interface.git",
57
+ "open_issues": 0,
58
+ "homepage": "http://www.graylog2.org/",
59
+ "html_url": "https://github.com/sbellity/graylog2-web-interface",
60
+ "git_url": "git://github.com/sbellity/graylog2-web-interface.git",
61
+ "language": null,
62
+ "forks": 0,
63
+ "svn_url": "https://svn.github.com/sbellity/graylog2-web-interface",
64
+ "fork": true,
65
+ "watchers": 1,
66
+ "pushed_at": "2010-12-15T19:57:41Z",
67
+ "created_at": "2010-12-15T10:12:29Z",
68
+ "private": false,
69
+ "size": 1660,
70
+ "owner": {
71
+ "url": "https://api.github.com/users/sbellity",
72
+ "avatar_url": "https://secure.gravatar.com/avatar/9abf3d284748357bb044d3386796ecd6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
73
+ "login": "sbellity",
74
+ "id": 4250
75
+ },
76
+ "name": "graylog2-web-interface",
77
+ "description": " Graylog2 is an open source syslog implementation that stores your logs in MongoDB. It consists of a server written in Java that accepts your syslog messages via TCP or UDP and stores it in the database. The second part is a Ruby on Rails web interface that allows you to view the log messages.",
78
+ "ssh_url": "git@github.com:sbellity/graylog2-web-interface.git"
79
+ },
80
+ {
81
+ "url": "https://api.github.com/repos/sbellity/homebrew",
82
+ "clone_url": "https://github.com/sbellity/homebrew.git",
83
+ "open_issues": 0,
84
+ "homepage": "http://mxcl.github.com/homebrew",
85
+ "html_url": "https://github.com/sbellity/homebrew",
86
+ "git_url": "git://github.com/sbellity/homebrew.git",
87
+ "language": "Ruby",
88
+ "forks": 0,
89
+ "svn_url": "https://svn.github.com/sbellity/homebrew",
90
+ "fork": true,
91
+ "watchers": 1,
92
+ "pushed_at": "2011-04-12T14:10:38Z",
93
+ "created_at": "2011-04-12T14:09:04Z",
94
+ "private": false,
95
+ "size": 5228,
96
+ "owner": {
97
+ "url": "https://api.github.com/users/sbellity",
98
+ "avatar_url": "https://secure.gravatar.com/avatar/9abf3d284748357bb044d3386796ecd6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
99
+ "login": "sbellity",
100
+ "id": 4250
101
+ },
102
+ "name": "homebrew",
103
+ "description": "The missing package manager for OS X.",
104
+ "ssh_url": "git@github.com:sbellity/homebrew.git"
105
+ },
106
+ {
107
+ "url": "https://api.github.com/repos/sbellity/hope",
108
+ "clone_url": "https://github.com/sbellity/hope.git",
109
+ "open_issues": 0,
110
+ "homepage": "",
111
+ "html_url": "https://github.com/sbellity/hope",
112
+ "git_url": "git://github.com/sbellity/hope.git",
113
+ "language": "Ruby",
114
+ "forks": 1,
115
+ "svn_url": "https://svn.github.com/sbellity/hope",
116
+ "fork": false,
117
+ "watchers": 1,
118
+ "pushed_at": "2011-06-16T15:27:05Z",
119
+ "created_at": "2011-06-16T15:25:47Z",
120
+ "private": false,
121
+ "size": 92,
122
+ "owner": {
123
+ "url": "https://api.github.com/users/sbellity",
124
+ "avatar_url": "https://secure.gravatar.com/avatar/9abf3d284748357bb044d3386796ecd6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
125
+ "login": "sbellity",
126
+ "id": 4250
127
+ },
128
+ "name": "hope",
129
+ "description": "jruby wrapper for Esper (Stream Event Processing)",
130
+ "ssh_url": "git@github.com:sbellity/hope.git"
131
+ }
132
+ ]
@@ -0,0 +1,20 @@
1
+ {
2
+ "type": "User",
3
+ "url": "https://api.github.com/users/sbellity",
4
+ "avatar_url": "https://secure.gravatar.com/avatar/9abf3d284748357bb044d3386796ecd6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png",
5
+ "login": "sbellity",
6
+ "blog": null,
7
+ "hireable": false,
8
+ "following": 53,
9
+ "created_at": "2008-04-02T18:24:06Z",
10
+ "email": "sbellity@gmail.com",
11
+ "public_gists": 3,
12
+ "followers": 13,
13
+ "html_url": "https://github.com/sbellity",
14
+ "name": "Stephane Bellity",
15
+ "company": null,
16
+ "bio": null,
17
+ "location": "Paris, France",
18
+ "id": 4250,
19
+ "public_repos": 19
20
+ }
@@ -0,0 +1,66 @@
1
+ require 'helper'
2
+
3
+ describe Githu3::Client do
4
+
5
+ before do
6
+ @client = Githu3::Client.new("myvalidtoken")
7
+ end
8
+
9
+ describe "Getting my stuff..." do
10
+ it "should be true if method exists" do
11
+ defined?(Githu3::VERSION).should be_true
12
+ end
13
+
14
+
15
+ it 'should be oauthed as me...' do
16
+ stub_get "/user", "me"
17
+ @client.me.login.should == 'sbellity'
18
+ end
19
+
20
+ it 'should retreive rails org' do
21
+ stub_get "/orgs/rails", "orgs/rails"
22
+ @client.org('rails').login.should == 'rails'
23
+ end
24
+
25
+ it 'should retreive my orgs' do
26
+ stub_get "/user/orgs", "orgs"
27
+ @client.orgs.length.should == 2
28
+ @client.orgs.first.login.should == "nuvoli"
29
+ end
30
+
31
+ it 'should retrieve all my repos' do
32
+ stub_get "/user/repos", "all_repos"
33
+ @client.repos.length.should == 2
34
+ @client.repos.first.name.should == "brm-ruby-logger"
35
+ @client.repos.first.private.should == true
36
+ end
37
+
38
+ it 'should retrieve all my public repos' do
39
+ stub_get "/user/repos?type=public", "public_repos"
40
+ @client.repos(:type => "public").length.should == 5
41
+ @client.repos(:type => "public").first.name.should == "futon4mongo"
42
+ end
43
+
44
+ it 'should tell me if i am following someone else...' do
45
+ stub_request(:get, "https://api.github.com/user/following/billevans").to_return(:status => 204)
46
+ @client.following?('billevans').should be_true
47
+ end
48
+
49
+ it 'should tell me if i am NOT following someone else...' do
50
+ stub_request(:get, "https://api.github.com/user/following/mildesdavis").to_return(:status => 404)
51
+ @client.following?('mildesdavis').should be_false
52
+ end
53
+
54
+ it "should list my followers" do
55
+ stub_get "/user/followers", "users/followers"
56
+ @client.followers.length.should == 13
57
+ end
58
+
59
+ it "should list my following" do
60
+ stub_get "/user/following", "users/following"
61
+ @client.following.length.should == 30
62
+ end
63
+
64
+ end
65
+
66
+ end
@@ -0,0 +1,54 @@
1
+ require 'helper'
2
+
3
+ describe Githu3::Repo do
4
+
5
+ def repo
6
+ stub_get "/repos/technoweenie/faraday", "repos/faraday"
7
+ @client.repo("technoweenie/faraday")
8
+ end
9
+
10
+ def issue
11
+ stub_get "/repos/technoweenie/faraday/issues/1", "repos/issue"
12
+ repo.issues("1")
13
+ end
14
+
15
+ before do
16
+ @client = Githu3::Client.new("myvalidtoken")
17
+ end
18
+
19
+
20
+ describe "Issue Events" do
21
+ it "should fetch an issue's events" do
22
+ stub_get "/repos/technoweenie/faraday/issues/1/events", "issues/events"
23
+ issue.events.length.should == 1
24
+ end
25
+
26
+ it 'should Get a single event' do
27
+ stub_get "/repos/technoweenie/faraday/issues/1/events/1", "issues/event"
28
+ issue.events('1').event.should == "closed"
29
+ end
30
+ end
31
+
32
+ describe "Issue Comments" do
33
+ it "should get a comments list for the issue" do
34
+ stub_get "/repos/technoweenie/faraday/issues/1/comments", "issues/comments"
35
+ issue.comments.length.should == 3
36
+ end
37
+
38
+ it "should get a single comment" do
39
+ # TODO... check if github updates the route...
40
+ pending("Waiting for a relpy's from github's team on the route...")
41
+ end
42
+ end
43
+
44
+ describe "Issue labels" do
45
+ it "should list its labels" do
46
+ stub_get "/repos/technoweenie/faraday/issues/1/labels", "repos/labels"
47
+ issue.labels.length.should == 1
48
+ end
49
+
50
+
51
+ end
52
+
53
+
54
+ end
@@ -0,0 +1,79 @@
1
+ require 'helper'
2
+
3
+ describe Githu3::Org do
4
+
5
+ def github
6
+ stub_get "/orgs/github", "/orgs/github"
7
+ @client.org "github"
8
+ end
9
+
10
+ before do
11
+ @client = Githu3::Client.new("myvalidtoken")
12
+ end
13
+
14
+ it "should get its name right" do
15
+ github.name.should == "GitHub"
16
+ end
17
+
18
+ describe "Getting an org's members..." do
19
+
20
+ it "should get its members" do
21
+ stub_get "/orgs/github/members", "teams/members"
22
+ github.members.length.should == 1
23
+ github.members.first.login.should == "octocat"
24
+ end
25
+
26
+ it 'should tell me if a user IS a member of the team' do
27
+ stub_request(:get, "https://api.github.com/orgs/github/members/octocat").to_return(:status => 204)
28
+ github.member?('octocat').should be_true
29
+ end
30
+
31
+ it 'should tell me if a user IS NOT a member of the org' do
32
+ stub_request(:get, "https://api.github.com/orgs/github/members/billevans").to_return(:status => 404)
33
+ github.member?('billevans').should be_false
34
+ end
35
+
36
+ it "should get its teams" do
37
+ stub_get "/orgs/github/teams", "repos/teams"
38
+ github.teams.length.should == 3
39
+ github.teams.first.name.should == "Developers"
40
+ end
41
+
42
+ end
43
+
44
+ describe "Getting an org's public_members..." do
45
+
46
+ it "should get its public_members" do
47
+ stub_get "/orgs/github/public_members", "teams/members"
48
+ github.public_members.length.should == 1
49
+ github.public_members.first.login.should == "octocat"
50
+ end
51
+
52
+ it 'should tell me if a user IS a public_member of the team' do
53
+ stub_request(:get, "https://api.github.com/orgs/github/public_members/octocat").to_return(:status => 204)
54
+ github.public_member?('octocat').should be_true
55
+ end
56
+
57
+ it 'should tell me if a user IS NOT a public_member of the team' do
58
+ stub_request(:get, "https://api.github.com/orgs/github/public_members/billevans").to_return(:status => 404)
59
+ github.public_member?('billevans').should be_false
60
+ end
61
+ end
62
+
63
+ describe "Getting the org's repos" do
64
+
65
+ it "should get its repos" do
66
+ stub_get "/orgs/github/repos", "all_repos"
67
+ github.repos.length.should == 2
68
+ end
69
+
70
+ it "should get its public repos" do
71
+ stub_get "/orgs/github/repos?type=public", "public_repos"
72
+ github.repos(:type => "public").length.should == 5
73
+ end
74
+
75
+
76
+ end
77
+
78
+
79
+ end