kefka 0.0.5 → 0.0.6

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.
@@ -1,38 +1,36 @@
1
- == Kefka (Experimental)
1
+ Kefka (Experimental)
2
+ ====
2
3
 
3
4
  A tool for understanding unfamiliar codebases and 3rd party libraries. Basic Idea is to visualize the method callgraph of a program while showing local variable values for each line of execution.
4
5
 
5
- == Installation
6
+ ![http://i.imgur.com/591Wz.png](http://i.imgur.com/591Wz.png)
6
7
 
7
- `gem install kefka`
8
+ Installation
9
+ ----
8
10
 
9
- == Usage
11
+ $ gem install kefka
10
12
 
11
- 1. From the command line , `kefka`
12
- 2. Go to browser and point to http://localhost:4567/
13
+ Usage
14
+ ----
13
15
 
14
- Examples are provided under the examples directory of kefka gem
16
+ $ kefka
17
+ Go to browser and point to http://localhost:4567/
15
18
 
16
- `kefka /path_to_examples_dir_of_kefka/sample1.rb`
19
+ TODO
20
+ ----
17
21
 
18
- == Guinea Pigs
22
+ show multiple locals values in loops/recursive calls/methods called from different sources
23
+ better UI
24
+ visualize links ( line call to a method )
19
25
 
20
- 1. Rack ( lots of procs/lambdas usage, understand middleware)
21
- 2. Rails/Thin/WEbrick ( understand full request response cycle )
22
- 3. Pry
23
- 4. EventMachine ( reactor scheduler, threadpool, defer )
24
- 5. Celluloid
25
-
26
- == Related Papers
26
+ Related Papers
27
+ ----
27
28
 
28
29
  http://relo.csail.mit.edu/documentation/relo-vlhcc06.pdf
29
30
  http://dmrussell.net/CHI2010/docs/p2503.pdf
30
31
 
31
- == Useful Links
32
-
33
- https://github.com/ruby/ruby/blob/trunk/test/ruby/test_settracefunc.rb
34
-
35
- == Contributing to kefka
32
+ Contributing to kefka
33
+ ----
36
34
 
37
35
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
38
36
  * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "kefka"
8
- s.version = "0.0.5"
8
+ s.version = "0.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Reginald Tan"]
@@ -15,14 +15,14 @@ Gem::Specification.new do |s|
15
15
  s.executables = ["kefka"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE.txt",
18
- "README",
18
+ "README.md",
19
19
  "TODO"
20
20
  ]
21
21
  s.files = [
22
22
  ".document",
23
23
  "Gemfile",
24
24
  "LICENSE.txt",
25
- "README",
25
+ "README.md",
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "app.rb",
@@ -100,11 +100,17 @@ var setupCall = function(call, edges) {
100
100
  $line.data("key",call);
101
101
 
102
102
  $line.html("<div class='expand'>+</div>");
103
+
104
+ var showExpand = function() { $(this).text("+"); };
105
+ var showCollapse = function() { $(this).text("-"); };
106
+
107
+ $line.find("div.expand").first().toggle(showCollapse,showExpand);
108
+
103
109
  $line.find("div.expand").first().click(function() {
104
110
  return function(that){
105
111
  _.chain(edges)
106
112
  .filter( function(edge){ return edge.source == $(that).parent().data("key"); })
107
- .map( function(edge){ console.log(edge);return edge.target })
113
+ .map( function(edge){ return edge.target })
108
114
  .each( function(target){
109
115
  $("#codeGraph .bubble#" + jqSelectorEscape(target))
110
116
  .first()
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kefka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-08-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: yajl-ruby
16
- requirement: &70332788234560 !ruby/object:Gem::Requirement
16
+ requirement: &70340392128680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70332788234560
24
+ version_requirements: *70340392128680
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: coderay
27
- requirement: &70332788233000 !ruby/object:Gem::Requirement
27
+ requirement: &70340392127260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70332788233000
35
+ version_requirements: *70340392127260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sinatra
38
- requirement: &70332788232340 !ruby/object:Gem::Requirement
38
+ requirement: &70340392126620 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70332788232340
46
+ version_requirements: *70340392126620
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: method_source
49
- requirement: &70332788221380 !ruby/object:Gem::Requirement
49
+ requirement: &70340392115580 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70332788221380
57
+ version_requirements: *70340392115580
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rgl
60
- requirement: &70332788220560 !ruby/object:Gem::Requirement
60
+ requirement: &70340392114660 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70332788220560
68
+ version_requirements: *70340392114660
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
- requirement: &70332788219700 !ruby/object:Gem::Requirement
71
+ requirement: &70340392113720 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70332788219700
79
+ version_requirements: *70340392113720
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: pry-doc
82
- requirement: &70332788218800 !ruby/object:Gem::Requirement
82
+ requirement: &70340392112880 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70332788218800
90
+ version_requirements: *70340392112880
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rspec
93
- requirement: &70332788218140 !ruby/object:Gem::Requirement
93
+ requirement: &70340392112300 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70332788218140
101
+ version_requirements: *70340392112300
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: jeweler
104
- requirement: &70332788217600 !ruby/object:Gem::Requirement
104
+ requirement: &70340392111720 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,7 +109,7 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70332788217600
112
+ version_requirements: *70340392111720
113
113
  description: ! ' It traces the execution path of a program and displays the source
114
114
  code of each method call in the callgraph '
115
115
  email: redge.tan@gmail.com
@@ -118,13 +118,13 @@ executables:
118
118
  extensions: []
119
119
  extra_rdoc_files:
120
120
  - LICENSE.txt
121
- - README
121
+ - README.md
122
122
  - TODO
123
123
  files:
124
124
  - .document
125
125
  - Gemfile
126
126
  - LICENSE.txt
127
- - README
127
+ - README.md
128
128
  - Rakefile
129
129
  - VERSION
130
130
  - app.rb
@@ -157,7 +157,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
157
  version: '0'
158
158
  segments:
159
159
  - 0
160
- hash: 3794648167731054942
160
+ hash: -2483329914531889372
161
161
  required_rubygems_version: !ruby/object:Gem::Requirement
162
162
  none: false
163
163
  requirements: