codependency 0.3.0 → 0.3.1

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.
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Codependency
2
2
 
3
- Codependency is a simple comment-based dependency graph that you can use on arbitrary files. At the moment, it only supports ruby-style comments, files with the `.rb` extension, and files in the same flat directory.
3
+ Codependency is a simple comment-based dependency graph that you can use on arbitrary files.
4
+
5
+ It uses the program `tsort` under the hood, so sorry windoze I guess?
4
6
 
5
7
  ## Installation
6
8
 
@@ -1,5 +1,3 @@
1
- require 'pathname'
2
-
3
1
  module Codependency
4
2
  class Node
5
3
  def initialize( filename, parser )
@@ -14,7 +12,7 @@ module Codependency
14
12
  def edges
15
13
  @edges ||= begin
16
14
  parser.parse( filename ).map do |f|
17
- dirname.join( "#{f}#{extname}" ).to_s
15
+ "#{f}#{File.extname( filename )}"
18
16
  end
19
17
  end
20
18
  end
@@ -24,19 +22,5 @@ module Codependency
24
22
  def dependencies
25
23
  edges.map { |edge| [ filename, edge ] }.flatten.join ' '
26
24
  end
27
-
28
- protected
29
-
30
- def dirname
31
- path.dirname
32
- end
33
-
34
- def extname
35
- path.extname
36
- end
37
-
38
- def path
39
- @path ||= Pathname.new filename
40
- end
41
25
  end
42
26
  end
@@ -1,3 +1,3 @@
1
1
  module Codependency
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
@@ -33,4 +33,13 @@ describe Codependency::Graph do
33
33
  expect { subject.files }.to raise_error( CircularDependencyError )
34
34
  end
35
35
  end
36
+
37
+ context 'subdirectories', :files => :subdirectories do
38
+ subject { Codependency::Graph.new graph, :comment => '//' }
39
+
40
+ context 'application.js' do
41
+ let( :graph ){ 'application.js' }
42
+ its( :files ){ should eq( %w| templates/user/history.js templates/user/account.js templates/user.js application.js | ) }
43
+ end
44
+ end
36
45
  end
@@ -0,0 +1,21 @@
1
+ shared_context 'subdirectories', :files => :subdirectories do
2
+
3
+ before do
4
+ file 'application.js', <<-EOS
5
+ // require templates/user
6
+ EOS
7
+
8
+ file 'templates/user.js', <<-EOS
9
+ // require templates/user/history
10
+ // require templates/user/account
11
+ EOS
12
+
13
+ file 'templates/user/history.js', <<-EOS
14
+ var History = { }
15
+ EOS
16
+
17
+ file 'templates/user/account.js', <<-EOS
18
+ var Account = { }
19
+ EOS
20
+ end
21
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codependency
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -86,6 +86,7 @@ files:
86
86
  - spec/support/circular_context.rb
87
87
  - spec/support/file_system_stubs.rb
88
88
  - spec/support/planets_context.rb
89
+ - spec/support/subdirectories_context.rb
89
90
  homepage: ''
90
91
  licenses: []
91
92
  post_install_message:
@@ -119,3 +120,4 @@ test_files:
119
120
  - spec/support/circular_context.rb
120
121
  - spec/support/file_system_stubs.rb
121
122
  - spec/support/planets_context.rb
123
+ - spec/support/subdirectories_context.rb