git-trend 1.2.9 → 1.4.0

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.
@@ -1,17 +1,20 @@
1
- include GitTrend
1
+ include GitTrend # rubocop:disable Style/MixinUsage
2
2
  RSpec.describe GitTrend::Scraper do
3
3
  let(:scraper) { Scraper.new }
4
4
 
5
5
  describe "settings" do
6
+ subject { scraper.instance_variable_get(:@agent) }
7
+
6
8
  before do
7
9
  allow(ENV).to receive(:[]).with("http_proxy").and_return("http://#{proxy_user}:#{proxy_pass}@#{proxy_addr}:#{proxy_port}")
8
10
  end
11
+
9
12
  let(:proxy_addr) { "192.168.1.99" }
10
13
  let(:proxy_port) { 9999 }
11
14
  let(:proxy_user) { "proxy_user" }
12
15
  let(:proxy_pass) { "proxy_pass" }
13
- subject { scraper.instance_variable_get(:@agent) }
14
- it "should use proxy settings of ENV" do
16
+
17
+ it "uses proxy settings of ENV" do
15
18
  aggregate_failures do
16
19
  expect(subject.proxy_addr).to eq proxy_addr
17
20
  expect(subject.proxy_user).to eq proxy_user
@@ -28,6 +31,7 @@ RSpec.describe GitTrend::Scraper do
28
31
  stub_request(:get, Scraper::BASE_URL)
29
32
  .to_return(status: 500, body: "[]")
30
33
  end
34
+
31
35
  it { expect { scraper.get }.to raise_error(Exception) }
32
36
  end
33
37
  end
@@ -1,81 +1,97 @@
1
1
  RSpec.describe GitTrend do
2
+ include described_class
3
+ let(:scraper_mock) { instance_double(Scraper) }
4
+
2
5
  before do
6
+ allow(Scraper).to receive(:new).and_return(scraper_mock)
3
7
  stub_request(:get, /.*/)
4
8
  .to_return(status: 200, headers: { content_type: "text/html" }, body: load_http_stub("trending"))
5
9
  end
6
10
 
7
11
  describe "#get" do
8
- context "without options" do
9
- it "Scraper#get call without options" do
10
- expect_any_instance_of(Scraper).to receive(:get).with(no_args)
11
- GitTrend.get
12
+ context "normal" do
13
+ before do
14
+ allow(scraper_mock).to receive(:get)
12
15
  end
13
- end
14
16
 
15
- context "parameter is 'ruby'" do
16
- it "Scraper#get call with 'ruby'" do
17
- expect_any_instance_of(Scraper).to receive(:get).with("ruby")
18
- GitTrend.get("ruby")
17
+ context "without options" do
18
+ it "Scraper#get call without options" do
19
+ described_class.get
20
+ expect(scraper_mock).to have_received(:get).with(no_args)
21
+ end
19
22
  end
20
- end
21
23
 
22
- context "parameter is :ruby" do
23
- it "Scraper#get call with :ruby" do
24
- expect_any_instance_of(Scraper).to receive(:get).with(:ruby)
25
- GitTrend.get(:ruby)
24
+ context "parameter is 'ruby'" do
25
+ it "Scraper#get call with 'ruby'" do
26
+ described_class.get("ruby")
27
+ expect(scraper_mock).to have_received(:get).with("ruby")
28
+ end
26
29
  end
27
- end
28
30
 
29
- context "parameter is since: :weekly" do
30
- it "Scraper#get call with [nil, :weekly]" do
31
- expect_any_instance_of(Scraper).to receive(:get).with(nil, :weekly)
32
- GitTrend.get(since: :weekly)
31
+ context "parameter is :ruby" do
32
+ it "Scraper#get call with :ruby" do
33
+ described_class.get(:ruby)
34
+ expect(scraper_mock).to have_received(:get).with(:ruby)
35
+ end
33
36
  end
34
- end
35
37
 
36
- context "parameter is since: :week" do
37
- it "Scraper#get call with [nil, :week]" do
38
- expect_any_instance_of(Scraper).to receive(:get).with(nil, :week)
39
- GitTrend.get(since: :week)
38
+ context "parameter is since: :weekly" do
39
+ it "Scraper#get call with [nil, :weekly]" do
40
+ described_class.get(since: :weekly)
41
+ expect(scraper_mock).to have_received(:get).with(nil, :weekly)
42
+ end
40
43
  end
41
- end
42
44
 
43
- context "parameter is since: :w" do
44
- it "Scraper#get call with [nil, :w]" do
45
- expect_any_instance_of(Scraper).to receive(:get).with(nil, :w)
46
- GitTrend.get(since: :w)
45
+ context "parameter is since: :week" do
46
+ it "Scraper#get call with [nil, :week]" do
47
+ described_class.get(since: :week)
48
+ expect(scraper_mock).to have_received(:get).with(nil, :week)
49
+ end
47
50
  end
48
- end
49
51
 
50
- context "parameters are 'ruby', 'weekly'" do
51
- it "Scraper#get call with ['ruby', 'weekly']" do
52
- expect_any_instance_of(Scraper).to receive(:get).with("ruby", "weekly")
53
- GitTrend.get("ruby", "weekly")
52
+ context "parameter is since: :w" do
53
+ it "Scraper#get call with [nil, :w]" do
54
+ described_class.get(since: :w)
55
+ expect(scraper_mock).to have_received(:get).with(nil, :w)
56
+ end
54
57
  end
55
- end
56
58
 
57
- context "parameters are :ruby, :weekly" do
58
- it "Scraper#get call with [:ruby, :weekly]" do
59
- expect_any_instance_of(Scraper).to receive(:get).with(:ruby, :weekly)
60
- GitTrend.get(:ruby, :weekly)
59
+ context "parameters are 'ruby', 'weekly'" do
60
+ it "Scraper#get call with ['ruby', 'weekly']" do
61
+ described_class.get("ruby", "weekly")
62
+ expect(scraper_mock).to have_received(:get).with("ruby", "weekly")
63
+ end
64
+ end
65
+
66
+ context "parameters are :ruby, :weekly" do
67
+ it "Scraper#get call with [:ruby, :weekly]" do
68
+ described_class.get(:ruby, :weekly)
69
+ expect(scraper_mock).to have_received(:get).with(:ruby, :weekly)
70
+ end
61
71
  end
62
- end
63
72
 
64
- context "parameters are language: :ruby, since: :weekly" do
65
- it "Scraper#get call with [:ruby, :weekly]" do
66
- expect_any_instance_of(Scraper).to receive(:get).with(:ruby, :weekly)
67
- GitTrend.get(language: :ruby, since: :weekly)
73
+ context "parameters are language: :ruby, since: :weekly" do
74
+ it "Scraper#get call with [:ruby, :weekly]" do
75
+ described_class.get(language: :ruby, since: :weekly)
76
+ expect(scraper_mock).to have_received(:get).with(:ruby, :weekly)
77
+ end
68
78
  end
69
79
  end
70
80
 
71
- context "when too many parameters" do
72
- it { expect { GitTrend.get("ruby", "weekly", "many_params") }.to raise_error(Exception) }
81
+ context "abnormal" do
82
+ context "when too many parameters" do
83
+ it { expect { described_class.get("ruby", "weekly", "many_params") }.to raise_error(Exception) }
84
+ end
73
85
  end
74
86
 
75
87
  describe "#languages" do
88
+ before do
89
+ allow(scraper_mock).to receive(:languages)
90
+ end
91
+
76
92
  it "Scraper#languages call" do
77
- expect_any_instance_of(Scraper).to receive(:languages).with(no_args)
78
- GitTrend.languages
93
+ described_class.languages
94
+ expect(scraper_mock).to have_received(:languages).with(no_args)
79
95
  end
80
96
  end
81
97
  end
data/spec/spec_helper.rb CHANGED
@@ -14,27 +14,13 @@
14
14
  # users commonly want.
15
15
  #
16
16
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
17
- # require "coveralls"
18
- # Coveralls.wear!
19
-
20
- require "pry"
21
17
  require "simplecov"
22
- # require "codeclimate-test-reporter"
23
- dir = File.join(ENV["CIRCLE_ARTIFACTS"] || "coverage")
24
- SimpleCov.coverage_dir(dir)
25
18
  SimpleCov.start do
26
19
  add_filter "/spec/"
27
-
28
- formatter SimpleCov::Formatter::MultiFormatter.new([
29
- SimpleCov::Formatter::HTMLFormatter,
30
- # Coveralls::SimpleCov::Formatter
31
- ])
32
20
  end
33
21
 
34
22
  require "webmock/rspec"
35
-
36
23
  require "git_trend"
37
- SimpleCov.start
38
24
 
39
25
  RSpec.configure do |config|
40
26
  config.expect_with :rspec do |expectations|
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: 1.2.9
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rochefort
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-12 00:00:00.000000000 Z
11
+ date: 2023-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: 2.8.5
48
48
  - - "<"
49
49
  - !ruby/object:Gem::Version
50
- version: 2.9.0
50
+ version: 2.10.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: 2.8.5
58
58
  - - "<"
59
59
  - !ruby/object:Gem::Version
60
- version: 2.9.0
60
+ version: 2.10.0
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: thor
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -92,146 +92,6 @@ dependencies:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
- - !ruby/object:Gem::Dependency
96
- name: bundler
97
- requirement: !ruby/object:Gem::Requirement
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: '0'
109
- - !ruby/object:Gem::Dependency
110
- name: rake
111
- requirement: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - "~>"
114
- - !ruby/object:Gem::Version
115
- version: 13.0.0
116
- type: :development
117
- prerelease: false
118
- version_requirements: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - "~>"
121
- - !ruby/object:Gem::Version
122
- version: 13.0.0
123
- - !ruby/object:Gem::Dependency
124
- name: rubocop
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- version: '0'
130
- type: :development
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- version: '0'
137
- - !ruby/object:Gem::Dependency
138
- name: rubocop-performance
139
- requirement: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- version: '0'
144
- type: :development
145
- prerelease: false
146
- version_requirements: !ruby/object:Gem::Requirement
147
- requirements:
148
- - - ">="
149
- - !ruby/object:Gem::Version
150
- version: '0'
151
- - !ruby/object:Gem::Dependency
152
- name: rubocop-rails
153
- requirement: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - ">="
156
- - !ruby/object:Gem::Version
157
- version: '0'
158
- type: :development
159
- prerelease: false
160
- version_requirements: !ruby/object:Gem::Requirement
161
- requirements:
162
- - - ">="
163
- - !ruby/object:Gem::Version
164
- version: '0'
165
- - !ruby/object:Gem::Dependency
166
- name: pry-byebug
167
- requirement: !ruby/object:Gem::Requirement
168
- requirements:
169
- - - ">="
170
- - !ruby/object:Gem::Version
171
- version: '0'
172
- type: :development
173
- prerelease: false
174
- version_requirements: !ruby/object:Gem::Requirement
175
- requirements:
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- version: '0'
179
- - !ruby/object:Gem::Dependency
180
- name: rspec
181
- requirement: !ruby/object:Gem::Requirement
182
- requirements:
183
- - - "~>"
184
- - !ruby/object:Gem::Version
185
- version: 3.12.0
186
- type: :development
187
- prerelease: false
188
- version_requirements: !ruby/object:Gem::Requirement
189
- requirements:
190
- - - "~>"
191
- - !ruby/object:Gem::Version
192
- version: 3.12.0
193
- - !ruby/object:Gem::Dependency
194
- name: simplecov
195
- requirement: !ruby/object:Gem::Requirement
196
- requirements:
197
- - - "~>"
198
- - !ruby/object:Gem::Version
199
- version: 0.16.1
200
- type: :development
201
- prerelease: false
202
- version_requirements: !ruby/object:Gem::Requirement
203
- requirements:
204
- - - "~>"
205
- - !ruby/object:Gem::Version
206
- version: 0.16.1
207
- - !ruby/object:Gem::Dependency
208
- name: webmock
209
- requirement: !ruby/object:Gem::Requirement
210
- requirements:
211
- - - "~>"
212
- - !ruby/object:Gem::Version
213
- version: 3.18.1
214
- type: :development
215
- prerelease: false
216
- version_requirements: !ruby/object:Gem::Requirement
217
- requirements:
218
- - - "~>"
219
- - !ruby/object:Gem::Version
220
- version: 3.18.1
221
- - !ruby/object:Gem::Dependency
222
- name: coveralls
223
- requirement: !ruby/object:Gem::Requirement
224
- requirements:
225
- - - "~>"
226
- - !ruby/object:Gem::Version
227
- version: 0.8.23
228
- type: :development
229
- prerelease: false
230
- version_requirements: !ruby/object:Gem::Requirement
231
- requirements:
232
- - - "~>"
233
- - !ruby/object:Gem::Version
234
- version: 0.8.23
235
95
  description: CLI-Based tool that show Trending repository on github
236
96
  email:
237
97
  - terasawan@gmail.com
@@ -240,13 +100,13 @@ executables:
240
100
  extensions: []
241
101
  extra_rdoc_files: []
242
102
  files:
243
- - ".coveralls.yml"
244
103
  - ".github/dependabot.yml"
104
+ - ".github/workflows/ci.yml"
245
105
  - ".github/workflows/codeql.yml"
246
106
  - ".gitignore"
247
107
  - ".rspec"
248
108
  - ".rubocop.yml"
249
- - ".travis.yml"
109
+ - ".rubocop_todo.yml"
250
110
  - CHANGELOG.md
251
111
  - Gemfile
252
112
  - LICENSE.txt
@@ -282,7 +142,8 @@ files:
282
142
  homepage: https://github.com/rochefort/git-trend
283
143
  licenses:
284
144
  - MIT
285
- metadata: {}
145
+ metadata:
146
+ rubygems_mfa_required: 'true'
286
147
  post_install_message: "\U0001F37A Thanks for installing!"
287
148
  rdoc_options: []
288
149
  require_paths:
@@ -291,28 +152,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
152
  requirements:
292
153
  - - ">="
293
154
  - !ruby/object:Gem::Version
294
- version: 2.5.0
155
+ version: 2.7.0
295
156
  required_rubygems_version: !ruby/object:Gem::Requirement
296
157
  requirements:
297
158
  - - ">="
298
159
  - !ruby/object:Gem::Version
299
160
  version: '0'
300
161
  requirements: []
301
- rubygems_version: 3.4.1
162
+ rubygems_version: 3.4.10
302
163
  signing_key:
303
164
  specification_version: 4
304
165
  summary: CLI-Based tool that show Trending repository on github
305
- test_files:
306
- - spec/fixtures/trending/alloy
307
- - spec/fixtures/trending/index
308
- - spec/fixtures/trending/ruby
309
- - spec/fixtures/trending/ruby?since=weekly
310
- - spec/fixtures/trending?since=
311
- - spec/fixtures/trending?since=daily
312
- - spec/fixtures/trending?since=monthly
313
- - spec/fixtures/trending?since=monthly.html
314
- - spec/fixtures/trending?since=weekly
315
- - spec/git_trend/cli_spec.rb
316
- - spec/git_trend/scraper_spec.rb
317
- - spec/git_trend_spec.rb
318
- - spec/spec_helper.rb
166
+ test_files: []
data/.coveralls.yml DELETED
@@ -1 +0,0 @@
1
- service_name: travis-ci
data/.travis.yml DELETED
@@ -1,16 +0,0 @@
1
- env:
2
- global:
3
- - CC_TEST_REPORTER_ID=2eb7b0f374e08e909106152c788cb32d24d6440cd41c14fe971a40a8ec971ca2
4
- language: ruby
5
- rvm:
6
- - 2.6.9
7
- - 2.7.5
8
- - 3.0.3
9
- before_script:
10
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
11
- - chmod +x ./cc-test-reporter
12
- - ./cc-test-reporter before-build
13
- script:
14
- - bundle exec rspec
15
- after_script:
16
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT