visualize_inheritance 0.0.1 → 0.0.2

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: 7c3402ddcc1259e4f445f60a758c5dfb1810c62e
4
- data.tar.gz: 450e4b7740765f5e71f128aa68446bf0587166f0
3
+ metadata.gz: 9f78e3f653a1d34ae1e62d446013e90cc98172f7
4
+ data.tar.gz: be034446987fa1cfacc35c4daa36680edd11a276
5
5
  SHA512:
6
- metadata.gz: 3f15eb0f6f944f4c858283356e5d50ededb25cc5bea2898aa63f4731fa945e9745c86499d4de35a23dce8a166d1a820accc2ce0bb1db1674ff527eddb53fc3fe
7
- data.tar.gz: ab43bab19cf1bb28ac6612db98eaf998ec1ce94974547330e6a8e2653fbaae8ed8169998727fa59a3ccc8e48af9f0848976c31962761c379fbb95dbfe55c0e5b
6
+ metadata.gz: 1041c067e11908cb8a63641f965295f51099a581b32b22862e2a9a1bd0b85f166112cb18f09fad6334a9f4fd73cb2b4a8af81e281e2752ba189fec12e38f5189
7
+ data.tar.gz: 7f033b73a906c5c9fb31300af76a8958c0cf2d99bfc7c86041047b1266e2c1e136046caa9a9848c1194a8f3c8f0a92696741d002d65d2dfc610464b217ee2cac
data/Gemfile.lock ADDED
@@ -0,0 +1,64 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ visualize_inheritance (0.0.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ celluloid (0.16.0)
10
+ timers (~> 4.0.0)
11
+ coderay (1.1.0)
12
+ diff-lcs (1.2.5)
13
+ ffi (1.9.6)
14
+ formatador (0.2.5)
15
+ guard (2.8.2)
16
+ formatador (>= 0.2.4)
17
+ listen (~> 2.7)
18
+ lumberjack (~> 1.0)
19
+ pry (>= 0.9.12)
20
+ thor (>= 0.18.1)
21
+ guard-rspec (4.3.1)
22
+ guard (~> 2.1)
23
+ rspec (>= 2.14, < 4.0)
24
+ hitimes (1.2.2)
25
+ listen (2.7.11)
26
+ celluloid (>= 0.15.2)
27
+ rb-fsevent (>= 0.9.3)
28
+ rb-inotify (>= 0.9)
29
+ lumberjack (1.0.9)
30
+ method_source (0.8.2)
31
+ pry (0.10.1)
32
+ coderay (~> 1.1.0)
33
+ method_source (~> 0.8.1)
34
+ slop (~> 3.4)
35
+ rake (10.3.2)
36
+ rb-fsevent (0.9.4)
37
+ rb-inotify (0.9.5)
38
+ ffi (>= 0.5.0)
39
+ rspec (3.1.0)
40
+ rspec-core (~> 3.1.0)
41
+ rspec-expectations (~> 3.1.0)
42
+ rspec-mocks (~> 3.1.0)
43
+ rspec-core (3.1.7)
44
+ rspec-support (~> 3.1.0)
45
+ rspec-expectations (3.1.2)
46
+ diff-lcs (>= 1.2.0, < 2.0)
47
+ rspec-support (~> 3.1.0)
48
+ rspec-mocks (3.1.3)
49
+ rspec-support (~> 3.1.0)
50
+ rspec-support (3.1.2)
51
+ slop (3.6.0)
52
+ thor (0.19.1)
53
+ timers (4.0.1)
54
+ hitimes
55
+
56
+ PLATFORMS
57
+ ruby
58
+
59
+ DEPENDENCIES
60
+ bundler
61
+ guard-rspec
62
+ rake
63
+ rspec
64
+ visualize_inheritance!
data/Rakefile CHANGED
@@ -1,7 +1,15 @@
1
1
  require "bundler/gem_tasks"
2
+ require_relative "./lib/visualize_inheritance"
2
3
 
3
4
  task :clean do
4
- sh "rm -f raw_files.txt trimmed_files.txt"
5
- sh "rm -f raw_classes.txt spaced_classes.txt"
6
- sh "rm -f reordered_classes.txt force.csv"
5
+ sh "rm -f force.csv"
6
+ sh "rm -f lib/force.csv"
7
+ end
8
+
9
+ task :csv do
10
+ VisualizeInheritance.csv
11
+ end
12
+
13
+ task :graph do
14
+ VisualizeInheritance.graph
7
15
  end
data/bin/visualize.sh ADDED
@@ -0,0 +1,24 @@
1
+ #!/bin/sh
2
+
3
+ grep -r 'lib' -e 'class' > files.txt
4
+ cut -d ' ' -f2- files.txt > classes.txt
5
+ echo 'source,target' > force.csv
6
+
7
+ exec < classes.txt
8
+ while read line
9
+ do
10
+ if [[ $line == *\<* ]]
11
+ then
12
+ out=""
13
+ for w in $line
14
+ do
15
+ out="$w $out"
16
+ done
17
+ echo $out | tr -d ' ' | tr '<' ',' >> force.csv
18
+ else
19
+ echo "Ruby,$line" >> force.csv
20
+ fi
21
+ done
22
+
23
+ rm files.txt
24
+ rm classes.txt
@@ -1,3 +1,3 @@
1
1
  module VisualizeInheritance
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -1,5 +1,27 @@
1
- require "visualize_inheritance/version"
1
+ require_relative "visualize_inheritance/version"
2
2
 
3
3
  module VisualizeInheritance
4
- # Your code goes here...
5
- end
4
+
5
+ def self.bin
6
+ File.join root, 'bin'
7
+ end
8
+
9
+ def self.lib
10
+ File.join root, 'lib'
11
+ end
12
+
13
+ def self.root
14
+ File.dirname __dir__
15
+ end
16
+
17
+ def self.csv
18
+ f = File.join bin, 'visualize.sh'
19
+ system("sh #{f}")
20
+ end
21
+
22
+ def self.graph
23
+ f = File.join lib, 'index.html'
24
+ system("open #{f}")
25
+ end
26
+
27
+ end
Binary file
@@ -20,4 +20,5 @@ Gem::Specification.new do |spec|
20
20
  spec.add_development_dependency 'bundler'
21
21
  spec.add_development_dependency 'rake'
22
22
  spec.add_development_dependency 'rspec'
23
+ spec.add_development_dependency 'guard-rspec'
23
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: visualize_inheritance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyrus Vandrevala
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-10 00:00:00.000000000 Z
11
+ date: 2014-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,24 +52,40 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard-rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: Create a directed graph of the relationships between classes in a Ruby
56
70
  program.
57
71
  email:
58
72
  - cyrus.vandrevala@gmail.com
59
- executables: []
73
+ executables:
74
+ - visualize.sh
60
75
  extensions: []
61
76
  extra_rdoc_files: []
62
77
  files:
63
78
  - ".gitignore"
64
79
  - Gemfile
80
+ - Gemfile.lock
65
81
  - LICENSE.txt
66
82
  - README.md
67
83
  - Rakefile
84
+ - bin/visualize.sh
85
+ - lib/index.html
68
86
  - lib/visualize_inheritance.rb
69
- - lib/visualize_inheritance/create_graph.sh
70
- - lib/visualize_inheritance/create_nodes.rb
71
- - lib/visualize_inheritance/index.html
72
87
  - lib/visualize_inheritance/version.rb
88
+ - visualize_inheritance-0.0.1.gem
73
89
  - visualize_inheritance.gemspec
74
90
  homepage: http://rubygems.org/gems/visualize_inheritance
75
91
  licenses:
@@ -91,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
107
  version: '0'
92
108
  requirements: []
93
109
  rubyforge_project:
94
- rubygems_version: 2.4.2
110
+ rubygems_version: 2.4.5
95
111
  signing_key:
96
112
  specification_version: 4
97
113
  summary: Directed graph of relations.
@@ -1,45 +0,0 @@
1
- #!/bin/sh
2
-
3
- rm -f raw_files.txt trimmed_files.txt
4
- rm -f raw_classes.txt spaced_classes.txt
5
- rm -f reordered_classes.txt force.csv
6
-
7
- grep --recursive '../' --include \*.rb --regexp 'class ' \
8
- > raw_files.txt
9
-
10
- tr -d ' \t\r\f' < raw_files.txt > trimmed_files.txt
11
-
12
- grep --extended-regexp --only-matching "(class\S+)" \
13
- < trimmed_files.txt | cut -c 6- > raw_classes.txt
14
-
15
- sed 's/</ < /g' raw_classes.txt >> spaced_classes.txt
16
-
17
- awk '{ for (i=NF; i>=1; i--) printf (i!=1) ? $i OFS : $i "\n" }' \
18
- spaced_classes.txt >> reordered_classes.txt
19
-
20
- echo 'source,target' > force.csv
21
- exec < reordered_classes.txt
22
- while read LINE; do
23
- if [[ $LINE == *\<* ]]; then
24
- Y=0
25
- for WORD in $LINE; do
26
- if [ $Y == 0 ]
27
- then
28
- PARENT=$WORD
29
- elif [ $Y == 2 ]
30
- then
31
- CHILD=$WORD
32
- fi
33
- Y=$((Y+1))
34
- done
35
- echo "$PARENT,$CHILD" >> force.csv
36
- echo "Ruby,$PARENT" >> force.csv
37
- else
38
- echo "Ruby,$LINE" >> force.csv
39
- fi
40
- done
41
-
42
- open index.html
43
- #rm -f raw_files.txt trimmed_files.txt
44
- #rm -f raw_classes.txt spaced_classes.txt
45
- #rm -f reordered_classes.txt
@@ -1,45 +0,0 @@
1
- #!/bin/ruby
2
-
3
- rm -f raw_files.txt trimmed_files.txt
4
- rm -f raw_classes.txt spaced_classes.txt
5
- rm -f reordered_classes.txt force.csv
6
-
7
- grep --recursive '../' --include \*.rb --regexp 'class ' \
8
- > raw_files.txt
9
-
10
- tr -d ' \t\r\f' < raw_files.txt > trimmed_files.txt
11
-
12
- grep --extended-regexp --only-matching "(class\S+)" \
13
- < trimmed_files.txt | cut -c 6- > raw_classes.txt
14
-
15
- sed 's/</ < /g' raw_classes.txt >> spaced_classes.txt
16
-
17
- awk '{ for (i=NF; i>=1; i--) printf (i!=1) ? $i OFS : $i "\n" }' \
18
- spaced_classes.txt >> reordered_classes.txt
19
-
20
- echo 'source,target' > force.csv
21
- exec < reordered_classes.txt
22
- while read LINE; do
23
- if [[ $LINE == *\<* ]]; then
24
- Y=0
25
- for WORD in $LINE; do
26
- if [ $Y == 0 ]
27
- then
28
- PARENT=$WORD
29
- elif [ $Y == 2 ]
30
- then
31
- CHILD=$WORD
32
- fi
33
- Y=$((Y+1))
34
- done
35
- echo "$PARENT,$CHILD" >> force.csv
36
- echo "Ruby,$PARENT" >> force.csv
37
- else
38
- echo "Ruby,$LINE" >> force.csv
39
- fi
40
- done
41
-
42
- open index.html
43
- #rm -f raw_files.txt trimmed_files.txt
44
- #rm -f raw_classes.txt spaced_classes.txt
45
- #rm -f reordered_classes.txt