transdeps 0.1.0 → 1.0.0

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
- SHA1:
3
- metadata.gz: 44689d8f950baffc3dba68f7f9f62cb0d6c4a659
4
- data.tar.gz: 08412e7b78116c5b84149ff4aa56650042ed986d
2
+ SHA256:
3
+ metadata.gz: 9185862ab7bb088217ca22ec6b5776c3d697f296ad91c30497e031915b96fcc7
4
+ data.tar.gz: ea2b1a60f405fd025e8b7d02631c2baa286776c61e7d43ee8cfe3226fd82d1d5
5
5
  SHA512:
6
- metadata.gz: e23a2fca6794682c9e0de6b2375e150a42298198db70824bfa171d393b44b03fce62377a51cb2783759f0c6b34ef6726cab628b09656b8de19ec04851390c613
7
- data.tar.gz: af2855ec10c5c501f9b61b43af243344d97b608c2ea4d2ca2d5be238d69d6a8ac72602f607f597bb56210cca224b1e88d01387647fd3196f48710ca05e7ea813
6
+ metadata.gz: 07e5251e839211262e1e81fbf97cb50396fbec48c2a7627e4b5d7b5ffce3738ed66c627940c606f1abdb3588fc65d73f2070865ce839c55e961dc365bd052b39
7
+ data.tar.gz: 1dd826ed58d198832966af84b9cbae2e01d4d4f6e35ea0fe5ee4e7128227ad1673f6d47378a51b262a2d1dc00502ac1711b9f449d3d443ba50eeb11d04714467
data/README.md CHANGED
@@ -21,6 +21,8 @@ Or install it yourself as:
21
21
 
22
22
  ## Usage
23
23
 
24
+ ### Using `rake`
25
+
24
26
  Add this line to application's Rakefile:
25
27
 
26
28
  ```ruby
@@ -30,7 +32,7 @@ require 'transdeps/tasks'
30
32
  Then run:
31
33
 
32
34
  ```bash
33
- bundle exec rake[/path/to/my/components,/path/to/my/project]
35
+ bundle exec rake transdeps[/path/to/my/components,/path/to/my/project]
34
36
  ```
35
37
 
36
38
  Since you are presumably running this task from the root of your project,
@@ -38,13 +40,34 @@ you can leave the second argument to the Rake task off, and the
38
40
  first argument would be a relative path. Something like:
39
41
 
40
42
  ```bash
41
- bundle exec rake[components]
43
+ bundle exec rake transdeps[components]
44
+ ```
45
+
46
+ ### Using `rspec`
47
+
48
+ Add this spec:
49
+
50
+ ```ruby
51
+ require "transdeps/cli"
52
+
53
+ RSpec.describe "Component" do
54
+ it "uses the same version of dependencies as the ones in the container application" do
55
+ results = Transdeps::Cli.new("components").run
56
+ expect(results).to be_empty, failure_message(results)
57
+ end
58
+
59
+ def failure_message(results)
60
+ (["❌ Dependency inconsistencies found:"] + results).join("\n")
61
+ end
62
+ end
42
63
  ```
43
64
 
44
65
  ## Contributing
45
66
 
46
67
  1. Fork it ( https://github.com/dugancathal/transdeps/fork )
47
- 2. Create your feature branch (`git checkout -b my-new-feature`)
48
- 3. Commit your changes (`git commit -am 'Add some feature'`)
49
- 4. Push to the branch (`git push origin my-new-feature`)
50
- 5. Create a new Pull Request
68
+ 1. Create your feature branch (`git checkout -b my-new-feature`)
69
+ 1. Install gems (`gem install bundler && bundle`)
70
+ 1. Run tests (`rspec`)
71
+ 1. Commit your changes (`git commit -am 'Add some feature'`)
72
+ 1. Push to the branch (`git push origin my-new-feature`)
73
+ 1. Create a new Pull Request
@@ -9,10 +9,9 @@ module Transdeps
9
9
 
10
10
  def call(component_dir, project_dir)
11
11
  project_specs = specs_for(project_dir)
12
- all_component_specs = component_dir.children.map { |dir| specs_for(dir) }
13
- all_component_specs.flat_map do |component_specs|
14
- project_specs - component_specs
15
- end.compact
12
+ all_component_specs = all_component_specs(component_dir)
13
+
14
+ spec_differences(project_specs, all_component_specs)
16
15
  end
17
16
 
18
17
  private
@@ -20,5 +19,18 @@ module Transdeps
20
19
  def specs_for(dir)
21
20
  factory.call(dir)
22
21
  end
22
+
23
+ def all_component_specs(component_dir)
24
+ component_dir
25
+ .children
26
+ .select { |filename| File.directory?(filename) }
27
+ .map { |dir| specs_for(dir) }
28
+ end
29
+
30
+ def spec_differences(project_specs, all_component_specs)
31
+ all_component_specs.flat_map do |component_specs|
32
+ project_specs - component_specs
33
+ end.compact
34
+ end
23
35
  end
24
36
  end
@@ -1,3 +1,3 @@
1
1
  module Transdeps
2
- VERSION = "0.1.0"
2
+ VERSION = "1.0.0"
3
3
  end
File without changes
@@ -25,5 +25,15 @@ module Transdeps
25
25
 
26
26
  expect(result).to eq [Inconsistency.new(ten_dot_oh, ten_dot_one)]
27
27
  end
28
+
29
+ it 'ignores files in components directory' do
30
+ factory = SpecListFactory.new
31
+ rec = Reconciler.new(factory)
32
+ component_dir = double(Dir, children: [DUMMY_APP_PATH + 'components/a-file'])
33
+
34
+ result = rec.call(component_dir, DUMMY_APP_PATH)
35
+
36
+ expect(result).to be_empty
37
+ end
28
38
  end
29
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: transdeps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TJ Taylor
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-15 00:00:00.000000000 Z
11
+ date: 2018-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,6 +76,7 @@ files:
76
76
  - lib/transdeps/version.rb
77
77
  - spec/dummy/Gemfile
78
78
  - spec/dummy/Gemfile.lock
79
+ - spec/dummy/components/a-file
79
80
  - spec/dummy/components/invalid-sub-dependencies/Gemfile
80
81
  - spec/dummy/components/invalid-sub-dependencies/Gemfile.lock
81
82
  - spec/dummy/components/invalid-sub-dependencies/invalid-sub-dependencies.gemspec
@@ -120,13 +121,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
121
  version: '0'
121
122
  requirements: []
122
123
  rubyforge_project:
123
- rubygems_version: 2.2.2
124
+ rubygems_version: 2.7.3
124
125
  signing_key:
125
126
  specification_version: 4
126
127
  summary: ''
127
128
  test_files:
128
129
  - spec/dummy/Gemfile
129
130
  - spec/dummy/Gemfile.lock
131
+ - spec/dummy/components/a-file
130
132
  - spec/dummy/components/invalid-sub-dependencies/Gemfile
131
133
  - spec/dummy/components/invalid-sub-dependencies/Gemfile.lock
132
134
  - spec/dummy/components/invalid-sub-dependencies/invalid-sub-dependencies.gemspec