dead_gems 0.0.3 → 0.1.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: 27d2e7fc861b6ab6b556b5c22c68664cd70098e6
4
- data.tar.gz: b7f1abbdffdb5341ab16649bc628921b377545f3
3
+ metadata.gz: 2246b24540c8fa6161289db092e74f4104ea6fc7
4
+ data.tar.gz: a412c88ed0fe63e9a1af3ce8f217d42496d8cfc3
5
5
  SHA512:
6
- metadata.gz: f65d1a3f0f7b31928363c9339ba0f32c52bb48cbfb94a5c02c199bf94f4237128ce52d9a737c180a8e481eb7c92aae58197e345d51e121ceca10692dafb3005f
7
- data.tar.gz: 8bf157d53b57a13a15f5d3f0c6134dfafae6bb614f8541bfed5afcb184b12847cf6f2efd7a189d05eceec60eb3ff4064d140038df8a7b57e01de81d6f45688c9
6
+ metadata.gz: ed6349f91a26eee0ba8efbe2ef9bd5298745fc831e943fc284c7c66f3a09c4814304c7e6976d750e9e85763d30bbf6ebbadc20620643ebc324cf8f2e1defa06e
7
+ data.tar.gz: 54c588cf353e2bcdf1b13133b4af2d371d74e96ead7ed74a8be3de2fa577a9ffb5560918eb5305efc5a48f9d5d9a5b73b1cf6e7815d56416fa8c1dce153e308b
data/.travis.yml CHANGED
@@ -1,7 +1,9 @@
1
- nguage: ruby
1
+ language: ruby
2
2
  rvm:
3
3
  - "2.2.0"
4
4
  - "2.1.5"
5
5
  - "2.1.3"
6
6
  - "2.0.0"
7
7
  - "1.9.3"
8
+ env:
9
+ - IS_TRAVIS=true
@@ -1,3 +1,3 @@
1
1
  module DeadGems
2
- VERSION = "0.0.3"
2
+ VERSION = "0.1.3"
3
3
  end
data/lib/dead_gems.rb CHANGED
@@ -6,7 +6,7 @@ module DeadGems
6
6
  GemInstance = Struct.new(:name, :path)
7
7
 
8
8
  class << self
9
- def find(project_root, exerciser)
9
+ def find(project_root, exerciser, test_helper: 'test/test_helper.rb')
10
10
  begin_dir = Dir.pwd
11
11
  logger = Logger.new($stdout)
12
12
  change_directory_to project_root
@@ -15,7 +15,7 @@ module DeadGems
15
15
  path = find_gem_path(name)
16
16
  GemInstance.new(name, path)
17
17
  end
18
- apply_environment_patch(gems) do
18
+ apply_environment_patch(gems, test_helper) do
19
19
  run(exerciser, gems)
20
20
  end
21
21
  ensure
@@ -53,9 +53,8 @@ module DeadGems
53
53
  end
54
54
  end
55
55
 
56
- def apply_environment_patch(gems)
57
- file = 'test/test_helper.rb'
58
- prepatch = File.read(file)
56
+ def apply_environment_patch(gems, test_helper)
57
+ prepatch = File.read(test_helper)
59
58
  patch = <<-END
60
59
  gem_paths = #{gems.map(&:path)}
61
60
  trace = TracePoint.new(:call) do |tp|
@@ -69,10 +68,10 @@ trace = TracePoint.new(:call) do |tp|
69
68
  end
70
69
  trace.enable
71
70
  END
72
- File.open(file, 'w') { |f| f.write([prepatch, patch].join("\n")) }
71
+ File.open(test_helper, 'w') { |f| f.write([prepatch, patch].join("\n")) }
73
72
  yield
74
73
  ensure
75
- File.open(file, 'w') { |f| f.write(prepatch) }
74
+ File.open(test_helper, 'w') { |f| f.write(prepatch) }
76
75
  File.delete('dead_gems.out') if File.exists?('dead_gems.out')
77
76
  end
78
77
 
@@ -4,6 +4,7 @@ class DeadGemsSpec < Minitest::Spec
4
4
  describe '.find' do
5
5
  describe 'given the dummy app and the test shell command' do
6
6
  before do
7
+ skip("Can't run dummy tests on Travis") if ENV['IS_TRAVIS']
7
8
  @project_path = File.expand_path('../../dummy', __FILE__)
8
9
  @exerciser_command = 'bundle exec rake &> /dev/null'
9
10
  end
@@ -22,31 +23,27 @@ class DeadGemsSpec < Minitest::Spec
22
23
  describe '.find_all_gems' do
23
24
  it 'correctly parses the example lock files' do
24
25
  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
26
+ stub_file_read_with(File.read(path)) { DeadGems.send(:find_all_gems) }
34
27
  end
35
28
  end
36
29
 
37
30
  it 'correctly parses outs bangs' do
38
- begin
39
- str = <<-FILE
31
+ str = <<-FILE
40
32
  DEPENDENCIES
41
33
  test!
42
34
  FILE
43
35
 
44
- original = File.method(:read)
45
- File.define_singleton_method(:read, -> (f) { str })
36
+ stub_file_read_with(str) do
46
37
  assert DeadGems.send(:find_all_gems).any? {|g| g == 'test'}
47
- ensure
48
- File.define_singleton_method(:read, original)
49
38
  end
50
39
  end
51
40
  end
41
+
42
+ def stub_file_read_with(v, &block)
43
+ original = File.method(:read)
44
+ File.define_singleton_method(:read, Proc.new { |f| v })
45
+ yield
46
+ ensure
47
+ File.define_singleton_method(:read, original)
48
+ end
52
49
  end
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.3
4
+ version: 0.1.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-10-08 00:00:00.000000000 Z
11
+ date: 2015-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -207,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
207
  version: '0'
208
208
  requirements: []
209
209
  rubyforge_project:
210
- rubygems_version: 2.2.2
210
+ rubygems_version: 2.4.8
211
211
  signing_key:
212
212
  specification_version: 4
213
213
  summary: a gem for finding unused gems in your project