dead_gems 0.0.2 → 0.0.3

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: 848d2bbc02f664dfe6f70c87ac7e9deb42159044
4
- data.tar.gz: b6ff213b444308dc5ce0076532904294b35ac1c2
3
+ metadata.gz: 27d2e7fc861b6ab6b556b5c22c68664cd70098e6
4
+ data.tar.gz: b7f1abbdffdb5341ab16649bc628921b377545f3
5
5
  SHA512:
6
- metadata.gz: 4112a8c8772b42998b899e7b809ddc031fb5f7209c94b8512419ac0a2b14f3f6ec8f3afe712fbf88b6f7a62cb10c1f5b98d301186b4578f189a741174ed32500
7
- data.tar.gz: 8aa94f35b3b232fa1b3c85d4f975410776eb867062ccb579bb107ee6665bc5a5ab1b8e9dc2f5ec28a0f37d74bc43baab95275fbd7546f2b5cdd647bc6faaa2ad
6
+ metadata.gz: f65d1a3f0f7b31928363c9339ba0f32c52bb48cbfb94a5c02c199bf94f4237128ce52d9a737c180a8e481eb7c92aae58197e345d51e121ceca10692dafb3005f
7
+ data.tar.gz: 8bf157d53b57a13a15f5d3f0c6134dfafae6bb614f8541bfed5afcb184b12847cf6f2efd7a189d05eceec60eb3ff4064d140038df8a7b57e01de81d6f45688c9
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ nguage: ruby
2
+ rvm:
3
+ - "2.2.0"
4
+ - "2.1.5"
5
+ - "2.1.3"
6
+ - "2.0.0"
7
+ - "1.9.3"
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # DeadGems
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/dead_gems.svg)](http://badge.fury.io/rb/dead_gems)
4
+ [![Build Status](https://travis-ci.org/jbodah/dead_gems.svg)](https://travis-ci.org/jbodah/dead_gems)
5
+
3
6
  lists your app's unused gems
4
7
 
5
8
  ## Installation
@@ -35,7 +38,7 @@ This will run my project's tests and output all of the gems that aren't used in
35
38
 
36
39
  ## Contributing
37
40
 
38
- 1. Fork it ( https://github.com/[my-github-username]/dead_gems/fork )
41
+ 1. Fork it ( https://github.com/jbodah/dead_gems/fork )
39
42
  2. Create your feature branch (`git checkout -b my-new-feature`)
40
43
  3. Commit your changes (`git commit -am 'Add some feature'`)
41
44
  4. Push to the branch (`git push origin my-new-feature`)
data/Rakefile CHANGED
@@ -1,2 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rake/testtask'
2
3
 
4
+ Rake::TestTask.new do |t|
5
+ t.libs << "spec"
6
+ t.test_files = FileList['spec/*spec.rb']
7
+ t.verbose = true
8
+ end
9
+
10
+ task :default => [:test]
@@ -1,3 +1,3 @@
1
1
  module DeadGems
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/dead_gems.rb CHANGED
@@ -10,6 +10,7 @@ module DeadGems
10
10
  begin_dir = Dir.pwd
11
11
  logger = Logger.new($stdout)
12
12
  change_directory_to project_root
13
+ bundle_install
13
14
  gems = find_all_gems.map do |name|
14
15
  path = find_gem_path(name)
15
16
  GemInstance.new(name, path)
@@ -29,10 +30,20 @@ module DeadGems
29
30
 
30
31
  def find_all_gems
31
32
  Bundler.with_clean_env do
32
- gem_lines = File.read('Gemfile.lock').split("DEPENDENCIES\n").last
33
- arr = []
34
- gem_lines.each_line { |line| arr << line.match(/\s*([^\s!]+)/).captures.first }
35
- arr
33
+ gem_lines = File.read('Gemfile.lock').split("DEPENDENCIES\n").last.split("\n\n").first
34
+ gem_lines.each_line.reduce([]) do |arr, line|
35
+ begin
36
+ arr << line.match(/\s*([^\s!]+)/).captures.first
37
+ rescue => e
38
+ raise "Encountered #{e} on line: #{line}"
39
+ end
40
+ end
41
+ end
42
+ end
43
+
44
+ def bundle_install
45
+ Bundler.with_clean_env do
46
+ `bundle install`
36
47
  end
37
48
  end
38
49
 
@@ -20,6 +20,20 @@ class DeadGemsSpec < Minitest::Spec
20
20
  end
21
21
 
22
22
  describe '.find_all_gems' do
23
+ it 'correctly parses the example lock files' do
24
+ Dir['spec/fixtures/lock_file*'].each do |path|
25
+ begin
26
+ str = File.read(path)
27
+
28
+ original = File.method(:read)
29
+ File.define_singleton_method(:read, -> (f) { str })
30
+ DeadGems.send(:find_all_gems)
31
+ ensure
32
+ File.define_singleton_method(:read, original)
33
+ end
34
+ end
35
+ end
36
+
23
37
  it 'correctly parses outs bangs' do
24
38
  begin
25
39
  str = <<-FILE
@@ -0,0 +1,325 @@
1
+
2
+ GEM
3
+ remote: https://rubygems.org/
4
+ specs:
5
+ actionmailer (4.2.4)
6
+ actionpack (= 4.2.4)
7
+ actionview (= 4.2.4)
8
+ activejob (= 4.2.4)
9
+ mail (~> 2.5, >= 2.5.4)
10
+ rails-dom-testing (~> 1.0, >= 1.0.5)
11
+ actionpack (4.2.4)
12
+ actionview (= 4.2.4)
13
+ activesupport (= 4.2.4)
14
+ rack (~> 1.6)
15
+ rack-test (~> 0.6.2)
16
+ rails-dom-testing (~> 1.0, >= 1.0.5)
17
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
18
+ actionview (4.2.4)
19
+ activesupport (= 4.2.4)
20
+ builder (~> 3.1)
21
+ erubis (~> 2.7.0)
22
+ rails-dom-testing (~> 1.0, >= 1.0.5)
23
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
24
+ activejob (4.2.4)
25
+ activesupport (= 4.2.4)
26
+ globalid (>= 0.3.0)
27
+ activemodel (4.2.4)
28
+ activesupport (= 4.2.4)
29
+ builder (~> 3.1)
30
+ activerecord (4.2.4)
31
+ activemodel (= 4.2.4)
32
+ activesupport (= 4.2.4)
33
+ arel (~> 6.0)
34
+ activesupport (4.2.4)
35
+ i18n (~> 0.7)
36
+ json (~> 1.7, >= 1.7.7)
37
+ minitest (~> 5.1)
38
+ thread_safe (~> 0.3, >= 0.3.4)
39
+ tzinfo (~> 1.1)
40
+ acts_as_shopping_cart (0.3.0)
41
+ money-rails (~> 1.3)
42
+ rails (~> 4)
43
+ addressable (2.3.8)
44
+ arel (6.0.3)
45
+ ast (2.1.0)
46
+ astrolabe (1.3.1)
47
+ parser (~> 2.2)
48
+ awesome_print (1.6.1)
49
+ aws-sdk (2.1.24)
50
+ aws-sdk-resources (= 2.1.24)
51
+ aws-sdk-core (2.1.24)
52
+ jmespath (~> 1.0)
53
+ aws-sdk-resources (2.1.24)
54
+ aws-sdk-core (= 2.1.24)
55
+ bcrypt (3.1.10)
56
+ better_errors (2.1.1)
57
+ coderay (>= 1.0.0)
58
+ erubis (>= 2.6.6)
59
+ rack (>= 0.9.0)
60
+ binding_of_caller (0.7.2)
61
+ debug_inspector (>= 0.0.1)
62
+ brcep (3.3.0)
63
+ bugsnag (2.8.12)
64
+ json (~> 1.7, >= 1.7.7)
65
+ builder (3.2.2)
66
+ byebug (5.0.0)
67
+ columnize (= 0.9.0)
68
+ capybara (2.5.0)
69
+ mime-types (>= 1.16)
70
+ nokogiri (>= 1.3.3)
71
+ rack (>= 1.0.0)
72
+ rack-test (>= 0.5.4)
73
+ xpath (~> 2.0)
74
+ chunky_png (1.3.4)
75
+ cliver (0.3.2)
76
+ coderay (1.1.0)
77
+ columnize (0.9.0)
78
+ compass (1.0.3)
79
+ chunky_png (~> 1.2)
80
+ compass-core (~> 1.0.2)
81
+ compass-import-once (~> 1.0.5)
82
+ rb-fsevent (>= 0.9.3)
83
+ rb-inotify (>= 0.9)
84
+ sass (>= 3.3.13, < 3.5)
85
+ compass-core (1.0.3)
86
+ multi_json (~> 1.0)
87
+ sass (>= 3.3.0, < 3.5)
88
+ compass-import-once (1.0.5)
89
+ sass (>= 3.2, < 3.5)
90
+ compass-rails (2.0.5)
91
+ compass (~> 1.0.0)
92
+ sass-rails (< 5.1)
93
+ sprockets (< 2.13)
94
+ database_cleaner (1.5.0)
95
+ dead_gems (0.0.2)
96
+ spy_rb
97
+ thor
98
+ debug_inspector (0.0.2)
99
+ decent_exposure (2.3.2)
100
+ devise (3.5.2)
101
+ bcrypt (~> 3.0)
102
+ orm_adapter (~> 0.1)
103
+ railties (>= 3.2.6, < 5)
104
+ responders
105
+ thread_safe (~> 0.1)
106
+ warden (~> 1.2.3)
107
+ diff-lcs (1.2.5)
108
+ docile (1.1.5)
109
+ draper (2.1.0)
110
+ actionpack (>= 3.0)
111
+ activemodel (>= 3.0)
112
+ activesupport (>= 3.0)
113
+ request_store (~> 1.0)
114
+ enumerate_it (1.2.8)
115
+ activesupport (>= 3.0.0)
116
+ erubis (2.7.0)
117
+ execjs (2.6.0)
118
+ factory_girl (4.5.0)
119
+ activesupport (>= 3.0.0)
120
+ factory_girl_rails (4.5.0)
121
+ factory_girl (~> 4.5.0)
122
+ railties (>= 3.0.0)
123
+ ffaker (2.1.0)
124
+ ffi (1.9.10)
125
+ font-awesome-rails (4.4.0.0)
126
+ railties (>= 3.2, < 5.0)
127
+ globalid (0.3.6)
128
+ activesupport (>= 4.1.0)
129
+ hike (1.2.3)
130
+ i18n (0.7.0)
131
+ jmespath (1.1.3)
132
+ json (1.8.3)
133
+ kaminari (0.16.3)
134
+ actionpack (>= 3.0.0)
135
+ activesupport (>= 3.0.0)
136
+ launchy (2.4.3)
137
+ addressable (~> 2.3)
138
+ letter_opener (1.4.1)
139
+ launchy (~> 2.2)
140
+ lograge (0.3.4)
141
+ actionpack (>= 3)
142
+ activesupport (>= 3)
143
+ railties (>= 3)
144
+ loofah (2.0.3)
145
+ nokogiri (>= 1.5.9)
146
+ mail (2.6.3)
147
+ mime-types (>= 1.16, < 3)
148
+ method_source (0.8.2)
149
+ mime-types (2.6.2)
150
+ mini_portile (0.6.2)
151
+ minitest (5.8.1)
152
+ monetize (1.1.0)
153
+ money (~> 6.5.0)
154
+ money (6.5.1)
155
+ i18n (>= 0.6.4, <= 0.7.0)
156
+ money-rails (1.4.1)
157
+ activesupport (>= 3.0)
158
+ monetize (~> 1.1.0)
159
+ money (~> 6.5.0)
160
+ railties (>= 3.0)
161
+ multi_json (1.11.2)
162
+ nested_form (0.3.2)
163
+ nokogiri (1.6.6.2)
164
+ mini_portile (~> 0.6.0)
165
+ orm_adapter (0.5.0)
166
+ parser (2.2.2.6)
167
+ ast (>= 1.1, < 3.0)
168
+ pg (0.18.3)
169
+ poltergeist (1.7.0)
170
+ capybara (~> 2.1)
171
+ cliver (~> 0.3.1)
172
+ multi_json (~> 1.0)
173
+ websocket-driver (>= 0.2.0)
174
+ postmon_ruby (3.0.1)
175
+ json (~> 1.8.1)
176
+ powerpack (0.1.1)
177
+ pry (0.10.2)
178
+ coderay (~> 1.1.0)
179
+ method_source (~> 0.8.1)
180
+ slop (~> 3.4)
181
+ pry-byebug (3.2.0)
182
+ byebug (~> 5.0)
183
+ pry (~> 0.10)
184
+ pry-meta (0.0.10)
185
+ awesome_print
186
+ pry
187
+ pry-byebug
188
+ pry-remote
189
+ pry-remote (0.1.8)
190
+ pry (~> 0.9)
191
+ slop (~> 3.0)
192
+ puma (2.14.0)
193
+ pundit (1.0.1)
194
+ activesupport (>= 3.0.0)
195
+ rack (1.6.4)
196
+ rack-test (0.6.3)
197
+ rack (>= 1.0)
198
+ rack-timeout (0.3.2)
199
+ rails (4.2.4)
200
+ actionmailer (= 4.2.4)
201
+ actionpack (= 4.2.4)
202
+ actionview (= 4.2.4)
203
+ activejob (= 4.2.4)
204
+ activemodel (= 4.2.4)
205
+ activerecord (= 4.2.4)
206
+ activesupport (= 4.2.4)
207
+ bundler (>= 1.3.0, < 2.0)
208
+ railties (= 4.2.4)
209
+ sprockets-rails
210
+ rails-deprecated_sanitizer (1.0.3)
211
+ activesupport (>= 4.2.0.alpha)
212
+ rails-dom-testing (1.0.7)
213
+ activesupport (>= 4.2.0.beta, < 5.0)
214
+ nokogiri (~> 1.6.0)
215
+ rails-deprecated_sanitizer (>= 1.0.1)
216
+ rails-html-sanitizer (1.0.2)
217
+ loofah (~> 2.0)
218
+ rails-i18n (4.0.5)
219
+ i18n (~> 0.6)
220
+ railties (~> 4.0)
221
+ rails_12factor (0.0.3)
222
+ rails_serve_static_assets
223
+ rails_stdout_logging
224
+ rails_serve_static_assets (0.0.4)
225
+ rails_stdout_logging (0.0.4)
226
+ railties (4.2.4)
227
+ actionpack (= 4.2.4)
228
+ activesupport (= 4.2.4)
229
+ rake (>= 0.8.7)
230
+ thor (>= 0.18.1, < 2.0)
231
+ rainbow (2.0.0)
232
+ rake (10.4.2)
233
+ rb-fsevent (0.9.6)
234
+ rb-inotify (0.9.5)
235
+ ffi (>= 0.5.0)
236
+ request_store (1.2.0)
237
+ responders (2.1.0)
238
+ railties (>= 4.2.0, < 5)
239
+ rspec-core (3.3.2)
240
+ rspec-support (~> 3.3.0)
241
+ rspec-expectations (3.3.1)
242
+ diff-lcs (>= 1.2.0, < 2.0)
243
+ rspec-support (~> 3.3.0)
244
+ rspec-mocks (3.3.2)
245
+ diff-lcs (>= 1.2.0, < 2.0)
246
+ rspec-support (~> 3.3.0)
247
+ rspec-rails (3.3.3)
248
+ actionpack (>= 3.0, < 4.3)
249
+ activesupport (>= 3.0, < 4.3)
250
+ railties (>= 3.0, < 4.3)
251
+ rspec-core (~> 3.3.0)
252
+ rspec-expectations (~> 3.3.0)
253
+ rspec-mocks (~> 3.3.0)
254
+ rspec-support (~> 3.3.0)
255
+ rspec-support (3.3.0)
256
+ rubocop (0.34.2)
257
+ astrolabe (~> 1.3)
258
+ parser (>= 2.2.2.5, < 3.0)
259
+ powerpack (~> 0.1)
260
+ rainbow (>= 1.99.1, < 3.0)
261
+ ruby-progressbar (~> 1.4)
262
+ ruby-progressbar (1.7.5)
263
+ sass (3.4.18)
264
+ sass-rails (5.0.4)
265
+ railties (>= 4.0.0, < 5.0)
266
+ sass (~> 3.1)
267
+ sprockets (>= 2.8, < 4.0)
268
+ sprockets-rails (>= 2.0, < 4.0)
269
+ tilt (>= 1.1, < 3)
270
+ settingslogic (2.0.9)
271
+ shoulda-matchers (3.0.0)
272
+ activesupport (>= 4.0.0)
273
+ simple_form (3.2.0)
274
+ actionpack (~> 4.0)
275
+ activemodel (~> 4.0)
276
+ simplecov (0.10.0)
277
+ docile (~> 1.1.0)
278
+ json (~> 1.8)
279
+ simplecov-html (~> 0.10.0)
280
+ simplecov-html (0.10.0)
281
+ slim (3.0.6)
282
+ temple (~> 0.7.3)
283
+ tilt (>= 1.3.3, < 2.1)
284
+ slop (3.6.0)
285
+ sprockets (2.12.4)
286
+ hike (~> 1.2)
287
+ multi_json (~> 1.0)
288
+ rack (~> 1.0)
289
+ tilt (~> 1.1, != 1.3.0)
290
+ sprockets-rails (2.3.3)
291
+ actionpack (>= 3.0)
292
+ activesupport (>= 3.0)
293
+ sprockets (>= 2.8, < 4.0)
294
+ spy_rb (0.5.0)
295
+ temple (0.7.6)
296
+ thor (0.19.1)
297
+ thread_safe (0.3.5)
298
+ tilt (1.4.1)
299
+ tzinfo (1.2.2)
300
+ thread_safe (~> 0.1)
301
+ uglifier (2.7.2)
302
+ execjs (>= 0.3.0)
303
+ json (>= 1.8.0)
304
+ vcr (2.9.3)
305
+ warden (1.2.3)
306
+ rack (>= 1.0)
307
+ websocket-driver (0.6.2)
308
+ websocket-extensions (>= 0.1.0)
309
+ websocket-extensions (0.1.2)
310
+ xpath (2.0.0)
311
+ nokogiri (~> 1.3)
312
+
313
+ PLATFORMS
314
+ ruby
315
+
316
+ DEPENDENCIES
317
+ factory_girl_rails
318
+ font-awesome-rails
319
+ rails (= 4.2.4)
320
+ simple_form
321
+ slim
322
+ sprockets-rails
323
+
324
+ BUNDLED WITH
325
+ 1.10.6
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dead_gems
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Bodah
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-04 00:00:00.000000000 Z
11
+ date: 2015-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -117,6 +117,7 @@ extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
119
  - ".gitignore"
120
+ - ".travis.yml"
120
121
  - Gemfile
121
122
  - Guardfile
122
123
  - LICENSE.txt
@@ -184,6 +185,7 @@ files:
184
185
  - lib/dead_gems.rb
185
186
  - lib/dead_gems/version.rb
186
187
  - spec/dead_gems_spec.rb
188
+ - spec/fixtures/lock_file1
187
189
  - spec/spec_helper.rb
188
190
  homepage: ''
189
191
  licenses:
@@ -211,5 +213,5 @@ specification_version: 4
211
213
  summary: a gem for finding unused gems in your project
212
214
  test_files:
213
215
  - spec/dead_gems_spec.rb
216
+ - spec/fixtures/lock_file1
214
217
  - spec/spec_helper.rb
215
- has_rdoc: