dead_gems 0.0.3 → 0.1.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 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