git-trend 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/CHANGELOG.md +5 -0
- data/README.md +7 -0
- data/git-trend.gemspec +2 -0
- data/lib/git_trend/cli.rb +8 -9
- data/lib/git_trend/rendering.rb +16 -8
- data/lib/git_trend/scraper.rb +12 -9
- data/lib/git_trend/version.rb +1 -1
- data/spec/fixtures/{trending?l=objective-c++ → trending?l=objective-c%2B%2B} +0 -0
- data/spec/fixtures/trending?l=ruby&since=weekly +1975 -0
- data/spec/fixtures/trending?since=monthly +1977 -0
- data/spec/fixtures/trending?since=weekly +1962 -0
- data/spec/git_trend/scraper_spec.rb +140 -8
- data/spec/spec_helper.rb +3 -0
- metadata +25 -4
@@ -117,7 +117,7 @@ RSpec.describe GitTrend::Scraper do
|
|
117
117
|
context 'with objective-c++ (including + sign)' do
|
118
118
|
before do
|
119
119
|
@scraper = Scraper.new
|
120
|
-
stub_request_get("trending?l
|
120
|
+
stub_request_get("trending?l=objective-c%2B%2B")
|
121
121
|
end
|
122
122
|
let(:language) {'objective-c++'}
|
123
123
|
|
@@ -155,6 +155,134 @@ RSpec.describe GitTrend::Scraper do
|
|
155
155
|
end
|
156
156
|
end
|
157
157
|
end
|
158
|
+
|
159
|
+
describe 'with -s option' do
|
160
|
+
context 'with weekly' do
|
161
|
+
before do
|
162
|
+
@scraper = Scraper.new
|
163
|
+
stub_request_get("trending?since=#{since}")
|
164
|
+
end
|
165
|
+
let(:since) {'weekly'}
|
166
|
+
|
167
|
+
it 'display daily ranking since weekly' do
|
168
|
+
res = <<-'EOS'.unindent
|
169
|
+
|No. Name Lang Star Fork
|
170
|
+
|--- -------------------------------------------------- ------------ ------ -----
|
171
|
+
| 1 numbbbbb/the-swift-programming-language-in-chinese JavaScript 2495 679
|
172
|
+
| 2 jessepollak/card CSS 2177 153
|
173
|
+
| 3 grant/swift-cheat-sheet JavaScript 1906 122
|
174
|
+
| 4 tictail/bounce.js CSS 1540 74
|
175
|
+
| 5 fullstackio/FlappySwift Swift 1125 401
|
176
|
+
| 6 GoogleCloudPlatform/kubernetes Go 1001 97
|
177
|
+
| 7 andlabs/ui Go 1004 36
|
178
|
+
| 8 facebook/Haxl Haskell 911 53
|
179
|
+
| 9 greatfire/wiki 683 196
|
180
|
+
| 10 interagent/http-api-design 757 42
|
181
|
+
| 11 prat0318/json_resume Ruby 717 50
|
182
|
+
| 12 lafikl/steady.js JavaScript 717 20
|
183
|
+
| 13 dotcloud/docker Go 617 119
|
184
|
+
| 14 dmytrodanylyk/circular-progress-button Java 608 69
|
185
|
+
| 15 docker/libswarm Go 606 20
|
186
|
+
| 16 watilde/beeplay JavaScript 594 23
|
187
|
+
| 17 austinzheng/swift-2048 Swift 518 116
|
188
|
+
| 18 Flolagale/mailin Python 543 14
|
189
|
+
| 19 hiphopapp/hiphop CoffeeScript 507 71
|
190
|
+
| 20 rpicard/explore-flask Python 454 27
|
191
|
+
| 21 addyosmani/psi JavaScript 443 8
|
192
|
+
| 22 twbs/bootstrap CSS 290 189
|
193
|
+
| 23 angular/angular.js JavaScript 268 194
|
194
|
+
| 24 mbostock/d3 JavaScript 307 113
|
195
|
+
| 25 maxpow4h/swiftz Swift 350 20
|
196
|
+
EOS
|
197
|
+
expect { @scraper.get(nil, since) }.to output(res).to_stdout
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
context 'with monthly' do
|
202
|
+
before do
|
203
|
+
@scraper = Scraper.new
|
204
|
+
stub_request_get("trending?since=#{since}")
|
205
|
+
end
|
206
|
+
let(:since) {'monthly'}
|
207
|
+
|
208
|
+
it 'display daily ranking since monthly' do
|
209
|
+
res = <<-'EOS'.unindent
|
210
|
+
|No. Name Lang Star Fork
|
211
|
+
|--- -------------------------------------------------- ------------ ------ -----
|
212
|
+
| 1 fullstackio/FlappySwift Swift 5753 1530
|
213
|
+
| 2 interagent/http-api-design 4735 214
|
214
|
+
| 3 jessepollak/card CSS 3944 257
|
215
|
+
| 4 numbbbbb/the-swift-programming-language-in-chinese JavaScript 3159 831
|
216
|
+
| 5 calmh/syncthing Go 2738 123
|
217
|
+
| 6 grant/swift-cheat-sheet JavaScript 2254 136
|
218
|
+
| 7 atom/atom CoffeeScript 1761 285
|
219
|
+
| 8 angular/angular.js JavaScript 1389 842
|
220
|
+
| 9 schneiderandre/popping Objective-C 1681 129
|
221
|
+
| 10 quilljs/quill CoffeeScript 1655 75
|
222
|
+
| 11 twbs/bootstrap CSS 1235 887
|
223
|
+
| 12 tictail/bounce.js CSS 1553 74
|
224
|
+
| 13 venmo/synx Ruby 1545 40
|
225
|
+
| 14 lovell/sharp JavaScript 1528 39
|
226
|
+
| 15 mbostock/d3 JavaScript 1101 424
|
227
|
+
| 16 facebook/jest JavaScript 1287 50
|
228
|
+
| 17 octobercms/october PHP 1190 192
|
229
|
+
| 18 buunguyen/octotree JavaScript 1228 90
|
230
|
+
| 19 felipernb/algorithms.js JavaScript 1206 90
|
231
|
+
| 20 strongloop/loopback JavaScript 1198 61
|
232
|
+
| 21 greatfire/wiki 1067 254
|
233
|
+
| 22 austinzheng/swift-2048 Swift 1083 218
|
234
|
+
| 23 dotcloud/docker Go 1057 269
|
235
|
+
| 24 julianshapiro/velocity JavaScript 1081 71
|
236
|
+
| 25 babun/babun Shell 1068 46
|
237
|
+
EOS
|
238
|
+
expect { @scraper.get(nil, since) }.to output(res).to_stdout
|
239
|
+
end
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
describe 'with -l and -s option' do
|
244
|
+
context 'with ruby and weekly' do
|
245
|
+
before do
|
246
|
+
@scraper = Scraper.new
|
247
|
+
stub_request_get("trending?l=#{language}&since=#{since}")
|
248
|
+
end
|
249
|
+
let(:language) {'ruby'}
|
250
|
+
let(:since) {'weekly'}
|
251
|
+
|
252
|
+
it 'display daily ranking since weekly' do
|
253
|
+
res = <<-'EOS'.unindent
|
254
|
+
|No. Name Lang Star Fork
|
255
|
+
|--- ---------------------------------------- ---------- ------ -----
|
256
|
+
| 1 prat0318/json_resume Ruby 717 50
|
257
|
+
| 2 dawn/dawn Ruby 349 11
|
258
|
+
| 3 newrelic/centurion Ruby 213 6
|
259
|
+
| 4 Homebrew/homebrew Ruby 107 74
|
260
|
+
| 5 rails/rails Ruby 100 74
|
261
|
+
| 6 code-mancers/invoker Ruby 97 2
|
262
|
+
| 7 CanCanCommunity/cancancan Ruby 92 5
|
263
|
+
| 8 etsy/nagios-herald Ruby 89 0
|
264
|
+
| 9 jekyll/jekyll Ruby 74 25
|
265
|
+
| 10 venmo/synx Ruby 82 2
|
266
|
+
| 11 interagent/prmd Ruby 74 5
|
267
|
+
| 12 discourse/discourse Ruby 64 22
|
268
|
+
| 13 gitlabhq/gitlabhq Ruby 56 21
|
269
|
+
| 14 vigetlabs/sass-json-vars Ruby 65 0
|
270
|
+
| 15 caskroom/homebrew-cask Ruby 49 30
|
271
|
+
| 16 mitchellh/vagrant Ruby 53 19
|
272
|
+
| 17 harrystech/seed_migration Ruby 57 0
|
273
|
+
| 18 twbs/bootstrap-sass Ruby 47 17
|
274
|
+
| 19 opal/opal Ruby 50 2
|
275
|
+
| 20 plataformatec/devise Ruby 39 22
|
276
|
+
| 21 sass/sass Ruby 43 12
|
277
|
+
| 22 nickjj/orats Ruby 46 2
|
278
|
+
| 23 chrishunt/desktop Ruby 39 3
|
279
|
+
| 24 chloerei/campo Ruby 35 9
|
280
|
+
| 25 jordansissel/fpm Ruby 35 4
|
281
|
+
EOS
|
282
|
+
expect { @scraper.get(language, since) }.to output(res).to_stdout
|
283
|
+
end
|
284
|
+
end
|
285
|
+
end
|
158
286
|
end
|
159
287
|
|
160
288
|
describe '#list_all_languages' do
|
@@ -351,7 +479,9 @@ RSpec.describe GitTrend::Scraper do
|
|
351
479
|
|zimpl
|
352
480
|
|
|
353
481
|
|183 languages
|
354
|
-
|you can get only selected language list with '-l' option
|
482
|
+
|you can get only selected language list with '-l' option.
|
483
|
+
|if languages is unknown, you can specify 'unkown'.
|
484
|
+
|
|
355
485
|
EOS
|
356
486
|
expect { @scraper.list_all_languages }.to output(res).to_stdout
|
357
487
|
end
|
@@ -359,14 +489,16 @@ RSpec.describe GitTrend::Scraper do
|
|
359
489
|
end
|
360
490
|
|
361
491
|
private
|
362
|
-
def stub_request_get(
|
363
|
-
|
364
|
-
url
|
365
|
-
|
366
|
-
|
492
|
+
def stub_request_get(stub_url)
|
493
|
+
url = Scraper::BASE_HOST.dup
|
494
|
+
url << "/#{stub_url}" if stub_url
|
495
|
+
uri = URI.parse(url)
|
496
|
+
|
497
|
+
stub_request(:get, uri).
|
367
498
|
to_return(
|
368
499
|
:status => 200,
|
369
500
|
:headers => {content_type: 'text/html'},
|
370
|
-
:body => load_http_stub(
|
501
|
+
:body => load_http_stub(stub_url))
|
371
502
|
end
|
503
|
+
|
372
504
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-trend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- rochefort
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 1.18.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: coveralls
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
125
139
|
description: cli based; show Trending repository on github
|
126
140
|
email:
|
127
141
|
- terasawan@gmail.com
|
@@ -130,6 +144,7 @@ executables:
|
|
130
144
|
extensions: []
|
131
145
|
extra_rdoc_files: []
|
132
146
|
files:
|
147
|
+
- ".coveralls.yml"
|
133
148
|
- ".gitignore"
|
134
149
|
- ".rspec"
|
135
150
|
- CHANGELOG.md
|
@@ -146,8 +161,11 @@ files:
|
|
146
161
|
- lib/git_trend/scraper.rb
|
147
162
|
- lib/git_trend/version.rb
|
148
163
|
- spec/fixtures/trending
|
149
|
-
- spec/fixtures/trending?l=objective-c
|
164
|
+
- spec/fixtures/trending?l=objective-c%2B%2B
|
150
165
|
- spec/fixtures/trending?l=ruby
|
166
|
+
- spec/fixtures/trending?l=ruby&since=weekly
|
167
|
+
- spec/fixtures/trending?since=monthly
|
168
|
+
- spec/fixtures/trending?since=weekly
|
151
169
|
- spec/git_trend/scraper_spec.rb
|
152
170
|
- spec/spec_helper.rb
|
153
171
|
homepage: https://github.com/rochefort/github-trend
|
@@ -176,7 +194,10 @@ specification_version: 4
|
|
176
194
|
summary: cli based; show Trending repository on github
|
177
195
|
test_files:
|
178
196
|
- spec/fixtures/trending
|
179
|
-
- spec/fixtures/trending?l=objective-c
|
197
|
+
- spec/fixtures/trending?l=objective-c%2B%2B
|
180
198
|
- spec/fixtures/trending?l=ruby
|
199
|
+
- spec/fixtures/trending?l=ruby&since=weekly
|
200
|
+
- spec/fixtures/trending?since=monthly
|
201
|
+
- spec/fixtures/trending?since=weekly
|
181
202
|
- spec/git_trend/scraper_spec.rb
|
182
203
|
- spec/spec_helper.rb
|