gem-search 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 007f61dd3c35fc00a951fd431c22ddc81b6a5d97
4
- data.tar.gz: c6251305ba1722f85da3c9ef7174755bbc39e765
3
+ metadata.gz: cf0634f75957207eecfa92cbc539e54fda22cbd3
4
+ data.tar.gz: afa21e69df314d524de7da7f37a712dc4002b894
5
5
  SHA512:
6
- metadata.gz: 5fccfe3e6be4a304b2cef71d4c878522047d27e658a9a55c0efe04764392c1baa57467ff78c656e5d2deccc426e84408a11b21a612cfabc2fa38521b28df461e
7
- data.tar.gz: 0c6546b3481356f6458571b7e014262bdd7fc5555ac3ae6050c610745ed8b06a47796cf5cd97df07d3fb1bf0b9e6d5e2671b0cf368697f1fd4ab9204e0e35eb7
6
+ metadata.gz: 4f09449157f6142afa641e2fd78b06cf3a54f9d87005ddb0c3fabf77145ffacac0f4dc52d87fa7af685f248ab66e761ecdbb80667246826060089be7f27046dc
7
+ data.tar.gz: 77c99fdbc05795f6d99a665161db680b37ee2e964c1a5ddfe2e6f833b89bb36f13202fc822f0b7b4305f860fab575ec924bf4d1051f791b5642e0fd6736d99ea
data/.gitignore CHANGED
@@ -12,6 +12,7 @@ doc/
12
12
  lib/bundler/man
13
13
  pkg
14
14
  rdoc
15
+ spec/examples.txt
15
16
  spec/reports
16
17
  test/tmp
17
18
  test/version_tmp
data/.rspec CHANGED
@@ -1,3 +1,4 @@
1
1
  --colour
2
2
  --format d
3
3
  --warnings
4
+ --require spec_helper
@@ -1,7 +1,12 @@
1
- ## v0.1.5
1
+ ## v0.1.6
2
+
3
+ * Update gems [17ae8cd]
4
+ * Refactor tests
2
5
 
3
- * Update slop for v4.0.0 and refactor. [94db668]
6
+ ## v0.1.5
4
7
 
8
+ * Update slop for v4.0.0 and refactor. [94db668]
9
+ unsupported Ruby 1.9.0
5
10
 
6
11
  ## v0.1.4
7
12
 
data/README.md CHANGED
@@ -1,13 +1,17 @@
1
- [![Build Status](http://img.shields.io/travis/rochefort/gem-search.svg?style=flat)](http://travis-ci.org/rochefort/gem-search)
1
+ [![CircleCI](https://img.shields.io/circleci/project/rochefort/gem-search.svg?style=flat)](https://circleci.com/gh/rochefort/gem-search)
2
2
  [![Dependency Status](http://img.shields.io/gemnasium/rochefort/gem-search.svg?style=flat)](https://gemnasium.com/rochefort/gem-search)
3
3
  [![Code Climate](http://img.shields.io/codeclimate/github/rochefort/gem-search.svg?style=flat)](https://codeclimate.com/github/rochefort/gem-search)
4
4
  [![Gem Version](http://img.shields.io/gem/v/gem-search.svg?style=flat)](http://badge.fury.io/rb/gem-search)
5
5
 
6
6
  # gem-search
7
7
 
8
+ Now gem-search is not published as a rubygem.
8
9
  gem-search is a command line utitlity like rubygems('gem search').
9
10
  You can see a download total gem and sort columns.
10
11
 
12
+ ## Requirements
13
+
14
+ Ruby version >= 2.0.0.
11
15
 
12
16
  ## Installation
13
17
 
@@ -118,12 +122,11 @@ node-webkit-bootstrap (1.0.0) 226 226 https://gi
118
122
  ### Browse
119
123
  It open rubygem's homepage in the system's default web browser.
120
124
 
121
- gem-search -b `keyword'
122
-
123
- or
124
-
125
- gem-search --browse `keyword'
126
-
125
+ gem-search -b `keyword'
126
+
127
+ or
128
+
129
+ gem-search --browse `keyword'
127
130
 
128
131
 
129
132
  ## Contributing
@@ -0,0 +1,6 @@
1
+ dependencies:
2
+ pre:
3
+ - case $CIRCLE_NODE_INDEX in 0) rvm use 2.0.0 --default ;; 1) rvm use 2.1.0 --default ;; 2) rvm use 2.2.0 --default ;; esac
4
+ test:
5
+ override:
6
+ - ruby -v ; bundle exec rspec: {parallel: true}
@@ -30,14 +30,11 @@ Gem::Specification.new do |gem|
30
30
 
31
31
  gem.post_install_message = install_message
32
32
 
33
- gem.add_dependency 'slop', '~>4.0.0'
34
- gem.add_dependency 'json', '~>1.8.2'
33
+ gem.add_dependency 'slop', '~>4.2.1'
35
34
  gem.add_dependency 'mem', '~>0.1.5'
36
35
 
37
- # gem.add_development_dependency 'pry', '~>0.9.12.6'
38
- gem.add_development_dependency 'webmock', '~>1.18.0'
39
- gem.add_development_dependency 'rake', '~>10.3.1'
40
-
41
- gem.add_development_dependency 'rspec', '~> 3.0.0'
42
- gem.add_development_dependency 'simplecov', '~> 0.9.0'
36
+ gem.add_development_dependency 'webmock', '~>1.22.6'
37
+ gem.add_development_dependency 'rake', '~>10.3.1'
38
+ gem.add_development_dependency 'rspec', '~>3.4.0'
39
+ gem.add_development_dependency 'simplecov', '~>0.11.2'
43
40
  end
@@ -18,7 +18,7 @@ module Gem::Search
18
18
 
19
19
  def ruled_line_size(gems)
20
20
  @ruled_line_size = DEFAULT_RULED_LINE_SIZE.dup
21
- max_name_size = gems.map { |gem| "#{gem['name'] } (#{gem['version']})".size }.max
21
+ max_name_size = gems.map { |gem| "#{gem['name']} (#{gem['version']})".size }.max
22
22
  @ruled_line_size[0] = max_name_size if max_name_size > @ruled_line_size[0]
23
23
  end
24
24
 
@@ -1,3 +1,3 @@
1
1
  module Gem::Search
2
- VERSION = '0.1.5'
2
+ VERSION = '0.1.6'
3
3
  end
File without changes
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  BIN = 'bin/gem-search'
4
2
 
5
3
  USAGE = <<-EOS
@@ -16,13 +14,13 @@ Usage: gem-search gem_name [options]
16
14
  -h, --help Display this help message.
17
15
  EOS
18
16
 
19
- RSpec.shared_examples 'display an usage' do
20
- it 'display an usage' do
21
- should == USAGE
17
+ RSpec.describe 'bin/gem-search' do
18
+ shared_examples 'display an usage' do
19
+ it 'display an usage' do
20
+ should == USAGE
21
+ end
22
22
  end
23
- end
24
23
 
25
- RSpec.describe 'bin/gem-search' do
26
24
  context 'with no argument' do
27
25
  subject { `#{BIN}` }
28
26
  it_behaves_like 'display an usage'
@@ -1,21 +1,14 @@
1
- require 'spec_helper'
2
-
3
1
  include Gem::Search
4
2
 
5
3
  RSpec.describe Commands::Browse do
6
4
  describe '#call' do
7
- before do
8
- @executor = Executor.new
9
- allow(Executor).to receive(:new).and_return(@executor)
10
- @options = { browse: query }
11
- end
12
-
13
5
  let(:query) { 'factory_girl' }
6
+ let(:options) { { browse: query } }
14
7
 
15
8
  context 'with browse option' do
16
9
  it 'called Executor#browse with browse option' do
17
- expect(@executor).to receive(:browse).with(query).once
18
- Commands::Browse.new(@options).call
10
+ expect_any_instance_of(Executor).to receive(:browse).with(query).once
11
+ Commands::Browse.new(options).call
19
12
  end
20
13
  end
21
14
  end
@@ -1,35 +1,29 @@
1
- require 'spec_helper'
2
-
3
1
  include Gem::Search
4
2
 
5
3
  RSpec.describe Commands::Run do
6
4
  describe '#call' do
7
5
  before do
8
- @executor = Executor.new
9
- allow(Executor).to receive(:new).and_return(@executor)
10
- @options = {}
11
- allow(@options).to receive(:arguments).and_return([query])
12
- allow(@options).to receive(:detail?).and_return(false)
6
+ allow(options).to receive(:arguments).and_return([query])
7
+ allow(options).to receive(:detail?).and_return(false)
8
+ allow(options).to receive(:[]).with('sort')
13
9
  stub_request_search(query, 1, dummy_search_result)
14
10
  stub_request_search_no_result_with_page(query, 2)
15
11
  end
16
-
17
12
  let(:query) { 'factory_girl' }
13
+ let(:options) { double('options') }
18
14
 
19
15
  context 'without sort option' do
20
16
  it 'called Executor#search without sort option' do
21
- expect(@executor).to receive(:search).with(query, default_opts).once
22
- Commands::Run.new(@options).call
17
+ expect_any_instance_of(Executor).to receive(:search).with(query, default_opts).once
18
+ Commands::Run.new(options).call
23
19
  end
24
20
  end
25
21
 
26
22
  context 'with sort option' do
27
- before do
28
- allow(@options).to receive(:sort).and_return('a')
29
- end
23
+ before { allow(@options).to receive(:sort).and_return('a') }
30
24
  it 'called Executor#search with sort option' do
31
- expect(@executor).to receive(:search).with(query, default_opts(sort: 'downloads')).once
32
- Commands::Run.new(@options).call
25
+ expect_any_instance_of(Executor).to receive(:search).with(query, default_opts(sort: 'downloads')).once
26
+ Commands::Run.new(options).call
33
27
  end
34
28
  end
35
29
  end
@@ -1,11 +1,7 @@
1
- require 'spec_helper'
2
-
3
1
  include Gem::Search
4
2
 
5
3
  RSpec.describe Executor do
6
- before do
7
- @executor = Executor.new
8
- end
4
+ let(:executor) { Executor.new }
9
5
 
10
6
  describe '#search' do
11
7
  context 'when a network error occurred' do
@@ -14,13 +10,13 @@ RSpec.describe Executor do
14
10
  .to_return(status: 500, body: '[]')
15
11
  end
16
12
  let(:query) { 'network_error_orccurred' }
17
- it { expect { @executor.search(query) }.to raise_error(Exception) }
13
+ it { expect { executor.search(query) }.to raise_error(Exception) }
18
14
  end
19
15
 
20
16
  context 'when no matching gem' do
21
17
  before { stub_request_search_no_result_with_page(query, 1) }
22
18
  let(:query) { 'no_match_gem_name' }
23
- it { expect { @executor.search(query, default_opts) }.to raise_error(LibraryNotFound) }
19
+ it { expect { executor.search(query, default_opts) }.to raise_error(LibraryNotFound) }
24
20
  end
25
21
 
26
22
  describe 'with detail' do
@@ -40,7 +36,7 @@ RSpec.describe Executor do
40
36
  |factory_girl_rails (3.5.0) 39724 1238780 http://github.com/thoughtbot/factory_girl_rails
41
37
  |factory_girl_generator (0.0.3) 8015 15547 http://github.com/leshill/factory_girl_generator
42
38
  EOS
43
- expect { @executor.search(query, default_opts(detail: true)) }.to output(res).to_stdout
39
+ expect { executor.search(query, default_opts(detail: true)) }.to output(res).to_stdout
44
40
  end
45
41
  end
46
42
  end
@@ -62,7 +58,7 @@ RSpec.describe Executor do
62
58
  |factory_girl_rails (3.5.0) 39724 1238780
63
59
  |factory_girl_generator (0.0.3) 8015 15547
64
60
  EOS
65
- expect { @executor.search(query, default_opts) }.to output(res).to_stdout
61
+ expect { executor.search(query, default_opts) }.to output(res).to_stdout
66
62
  end
67
63
  end
68
64
 
@@ -76,7 +72,7 @@ RSpec.describe Executor do
76
72
  |factory_girl_rails (3.5.0) 39724 1238780
77
73
  |factory_girl_generator (0.0.3) 8015 15547
78
74
  EOS
79
- expect { @executor.search(query, default_opts) }.to output(res).to_stdout
75
+ expect { executor.search(query, default_opts) }.to output(res).to_stdout
80
76
  end
81
77
  end
82
78
 
@@ -90,7 +86,7 @@ RSpec.describe Executor do
90
86
  |factory_girl_generator (0.0.3) 8015 15547
91
87
  |factory_girl (3.6.0) 541 2042859
92
88
  EOS
93
- expect { @executor.search(query, default_opts(sort: 'version_downloads')) }.to output(res).to_stdout
89
+ expect { executor.search(query, default_opts(sort: 'version_downloads')) }.to output(res).to_stdout
94
90
  end
95
91
  end
96
92
 
@@ -104,7 +100,7 @@ RSpec.describe Executor do
104
100
  |factory_girl_generator (0.0.3) 8015 15547
105
101
  |factory_girl_rails (3.5.0) 39724 1238780
106
102
  EOS
107
- expect { @executor.search(query, default_opts(sort: 'name')) }.to output(res).to_stdout
103
+ expect { executor.search(query, default_opts(sort: 'name')) }.to output(res).to_stdout
108
104
  end
109
105
  end
110
106
  end
@@ -186,7 +182,7 @@ RSpec.describe Executor do
186
182
  |tasty-cucumber-client (0.1.10) 1504 11518
187
183
  |vagrant-cucumber-host (0.1.14) 163 163
188
184
  EOS
189
- expect { @executor.search(query, default_opts(sort: 'name')) }.to output(res).to_stdout
185
+ expect { executor.search(query, default_opts(sort: 'name')) }.to output(res).to_stdout
190
186
  end
191
187
  end
192
188
 
@@ -204,7 +200,7 @@ RSpec.describe Executor do
204
200
  |-------------------------------------------------- -------- ---------
205
201
  |size_is_42_2345678901234567890123456789012 (0.0.1) 100 1000
206
202
  EOS
207
- expect { @executor.search(query, default_opts) }.to output(res).to_stdout
203
+ expect { executor.search(query, default_opts) }.to output(res).to_stdout
208
204
  end
209
205
  end
210
206
 
@@ -221,7 +217,7 @@ RSpec.describe Executor do
221
217
  |--------------------------------------------------- -------- ---------
222
218
  |size_is_43_23456789012345678901234567890123 (0.0.2) 200 2000
223
219
  EOS
224
- expect { @executor.search(query, default_opts) }.to output(res).to_stdout
220
+ expect { executor.search(query, default_opts) }.to output(res).to_stdout
225
221
  end
226
222
  end
227
223
  end
@@ -234,25 +230,25 @@ RSpec.describe Executor do
234
230
  .to_return(status: 500, body: '[]')
235
231
  end
236
232
  let(:query) { 'network_error_orccurred' }
237
- it { expect { @executor.browse(query) }.to raise_error(Exception) }
233
+ it { expect { executor.browse(query) }.to raise_error(Exception) }
238
234
  end
239
235
 
240
236
  context 'when no matching gem' do
241
237
  before { stub_request_gems_no_result(query) }
242
238
  let(:query) { 'no_match_gem_name' }
243
- it { expect { @executor.browse(query) }.to raise_error(OpenURI::HTTPError) }
239
+ it { expect { executor.browse(query) }.to raise_error(OpenURI::HTTPError) }
244
240
  end
245
241
 
246
242
  context 'when no homepage_uri' do
247
243
  before do
248
244
  url = Executor::GEM_URL % query
249
- allow(@executor).to receive(:system).with(anything(), url)
245
+ allow(executor).to receive(:system).with(anything, url)
250
246
  stub_request_gems(query, load_http_stubs("gems/#{query}.json"))
251
247
  end
252
248
  let(:query) { 'git-trend_no_homepage' }
253
249
 
254
250
  it 'open a rubygems url' do
255
- @executor.browse(query)
251
+ executor.browse(query)
256
252
  end
257
253
  end
258
254
 
@@ -260,13 +256,13 @@ RSpec.describe Executor do
260
256
  before do
261
257
  http_stub = load_http_stubs("gems/#{query}.json")
262
258
  url = JSON.parse(http_stub)['homepage_uri']
263
- allow(@executor).to receive(:system).with(anything(), url)
259
+ allow(executor).to receive(:system).with(anything, url)
264
260
  stub_request_gems(query, http_stub)
265
261
  end
266
262
  let(:query) { 'git-trend' }
267
263
 
268
264
  it 'open a homepage url' do
269
- @executor.browse(query)
265
+ executor.browse(query)
270
266
  end
271
267
  end
272
268
  end
@@ -274,18 +270,20 @@ RSpec.describe Executor do
274
270
  private
275
271
 
276
272
  def dummy_search_result_name_size_is_42
277
- [{"name"=>"size_is_42_2345678901234567890123456789012",
278
- "downloads"=>1000,
279
- "version"=>"0.0.1",
280
- "version_downloads"=>100}
281
- ].to_json
273
+ [{
274
+ 'name' => 'size_is_42_2345678901234567890123456789012',
275
+ 'downloads' => 1000,
276
+ 'version' => '0.0.1',
277
+ 'version_downloads' => 100
278
+ }].to_json
282
279
  end
283
280
 
284
281
  def dummy_search_result_name_size_is_43
285
- [{"name"=>"size_is_43_23456789012345678901234567890123",
286
- "downloads"=>2000,
287
- "version"=>"0.0.2",
288
- "version_downloads"=>200}
289
- ].to_json
282
+ [{
283
+ 'name' => 'size_is_43_23456789012345678901234567890123',
284
+ 'downloads' => 2000,
285
+ 'version' => '0.0.2',
286
+ 'version_downloads' => 200
287
+ }].to_json
290
288
  end
291
289
  end
@@ -8,7 +8,21 @@ require 'webmock/rspec'
8
8
  require 'gem_search'
9
9
 
10
10
  RSpec.configure do |config|
11
+ config.expect_with :rspec do |expectations|
12
+ expectations.syntax = :expect
13
+ end
14
+
15
+ config.mock_with :rspec do |mocks|
16
+ mocks.syntax = :expect
17
+ mocks.verify_partial_doubles = true
18
+ end
19
+ config.filter_run :focus
20
+ config.run_all_when_everything_filtered = true
11
21
  config.expose_dsl_globally = false
22
+
23
+ config.example_status_persistence_file_path = 'spec/examples.txt'
24
+ config.order = :random
25
+ Kernel.srand config.seed
12
26
  end
13
27
 
14
28
  def load_http_stubs(file_name)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem-search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - rochefort
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-29 00:00:00.000000000 Z
11
+ date: 2016-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slop
@@ -16,28 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0
19
+ version: 4.2.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: json
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 1.8.2
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 1.8.2
26
+ version: 4.2.1
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: mem
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +44,14 @@ dependencies:
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: 1.18.0
47
+ version: 1.22.6
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: 1.18.0
54
+ version: 1.22.6
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rake
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +72,28 @@ dependencies:
86
72
  requirements:
87
73
  - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: 3.0.0
75
+ version: 3.4.0
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: 3.0.0
82
+ version: 3.4.0
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: simplecov
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: 0.9.0
89
+ version: 0.11.2
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: 0.9.0
96
+ version: 0.11.2
111
97
  description: search gems with using rubygems.org API
112
98
  email:
113
99
  - terasawan@gmail.com
@@ -124,6 +110,7 @@ files:
124
110
  - README.md
125
111
  - Rakefile
126
112
  - bin/gem-search
113
+ - circle.yml
127
114
  - gem-search.gemspec
128
115
  - lib/gem_search.rb
129
116
  - lib/gem_search/command_builder.rb
@@ -136,6 +123,7 @@ files:
136
123
  - lib/gem_search/executor.rb
137
124
  - lib/gem_search/rendering.rb
138
125
  - lib/gem_search/version.rb
126
+ - sideci_build.txt
139
127
  - spec/bin/gem_search_spec.rb
140
128
  - spec/commands/browse_spec.rb
141
129
  - spec/commands/run_spec.rb
@@ -165,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
153
  version: '0'
166
154
  requirements: []
167
155
  rubyforge_project:
168
- rubygems_version: 2.4.5
156
+ rubygems_version: 2.5.1
169
157
  signing_key:
170
158
  specification_version: 4
171
159
  summary: search gems with using rubygems.org API