rubrowser 0.1.2 → 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 +4 -4
- data/Gemfile.lock +1 -9
- data/bin/rubrowser +1 -1
- data/lib/data.rb +2 -6
- data/lib/rubrowser.rb +1 -1
- data/lib/server.rb +45 -11
- data/readme.md +6 -0
- data/rubrowser.gemspec +2 -3
- metadata +3 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 98a6e065af01c9315496133bd1de3108a6c304c8
|
|
4
|
+
data.tar.gz: 666779a8c170e5b9fb52a7d67435fb28124991fa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 07db9f0754f43387becd50c5a1facb1872e76b1e982de3b6f06bc7a36949642982c76b64e5bc94e5c44648e5974ec78542911fcf79226e8cc40cbe99a1dd6f17
|
|
7
|
+
data.tar.gz: 12e93089491077c8fd52feed738b2169ceced4941eb2f154489ecc7af721e06ae66c6309300894d6be8c63bf021b5c9bdba26a4663b7897d4c99e164365dafee
|
data/Gemfile.lock
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rubrowser (0.1.
|
|
4
|
+
rubrowser (0.1.3)
|
|
5
5
|
haml (~> 4.0, >= 4.0.0)
|
|
6
6
|
parallel (~> 1.9, >= 1.9.0)
|
|
7
7
|
parser (~> 2.3, >= 2.3.0)
|
|
8
|
-
sinatra (~> 1.4, >= 1.4.0)
|
|
9
8
|
|
|
10
9
|
GEM
|
|
11
10
|
remote: https://rubygems.org/
|
|
@@ -16,13 +15,6 @@ GEM
|
|
|
16
15
|
parallel (1.9.0)
|
|
17
16
|
parser (2.3.1.2)
|
|
18
17
|
ast (~> 2.2)
|
|
19
|
-
rack (1.6.4)
|
|
20
|
-
rack-protection (1.5.3)
|
|
21
|
-
rack
|
|
22
|
-
sinatra (1.4.7)
|
|
23
|
-
rack (~> 1.5)
|
|
24
|
-
rack-protection (~> 1.4)
|
|
25
|
-
tilt (>= 1.3, < 3)
|
|
26
18
|
tilt (2.0.5)
|
|
27
19
|
|
|
28
20
|
PLATFORMS
|
data/bin/rubrowser
CHANGED
data/lib/data.rb
CHANGED
data/lib/rubrowser.rb
CHANGED
data/lib/server.rb
CHANGED
|
@@ -1,11 +1,34 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'webrick'
|
|
2
|
+
require 'haml'
|
|
2
3
|
require 'data'
|
|
3
4
|
require 'json'
|
|
4
5
|
|
|
5
6
|
module Rubrowser
|
|
6
|
-
class Server <
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
class Server < WEBrick::HTTPServer
|
|
8
|
+
def self.start(paths)
|
|
9
|
+
new(paths).start
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def initialize(paths)
|
|
13
|
+
super Port: 9000
|
|
14
|
+
|
|
15
|
+
@data = Rubrowser::Data.new(paths)
|
|
16
|
+
@data.parse
|
|
17
|
+
|
|
18
|
+
mount_proc '/' do |req, res|
|
|
19
|
+
res.body = root(req.path)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
trap('INT') { shutdown }
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
attr_reader :data
|
|
28
|
+
|
|
29
|
+
def root(path)
|
|
30
|
+
return file(path) if file?(path)
|
|
31
|
+
|
|
9
32
|
haml :index,
|
|
10
33
|
locals: {
|
|
11
34
|
constants: data.constants,
|
|
@@ -13,13 +36,24 @@ module Rubrowser
|
|
|
13
36
|
}
|
|
14
37
|
end
|
|
15
38
|
|
|
16
|
-
def
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
def file?(path)
|
|
40
|
+
path = resolve_file_path("/public#{path}")
|
|
41
|
+
File.file?(path)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def file(path)
|
|
45
|
+
File.read(resolve_file_path("/public#{path}"))
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def haml(template, options = {})
|
|
49
|
+
path = resolve_file_path("/views/#{template}.haml")
|
|
50
|
+
file = File.open(path).read
|
|
51
|
+
locals = options.delete(:locals) || {}
|
|
52
|
+
Haml::Engine.new(file, options).render(self, locals)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def resolve_file_path(path)
|
|
56
|
+
File.expand_path("../..#{path}", __FILE__)
|
|
23
57
|
end
|
|
24
58
|
end
|
|
25
59
|
end
|
data/readme.md
CHANGED
|
@@ -23,6 +23,12 @@ gem install rubrowser
|
|
|
23
23
|
rubrowser /path/to/project/or/file
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
or you can just visualize current directory
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
rubrowser
|
|
30
|
+
```
|
|
31
|
+
|
|
26
32
|
it'll analyze the project and open port 9000, so you can access the graph from `localhost:9000`
|
|
27
33
|
|
|
28
34
|
## Features
|
data/rubrowser.gemspec
CHANGED
|
@@ -7,15 +7,14 @@ Gem::Specification.new do |s|
|
|
|
7
7
|
s.authors = ['Emad Elsaid']
|
|
8
8
|
s.email = ['blazeeboy@gmail.com']
|
|
9
9
|
s.homepage = 'https://github.com/blazeeboy/rubrowser'
|
|
10
|
-
s.summary = '
|
|
11
|
-
s.description = '
|
|
10
|
+
s.summary = 'A ruby interactive dependency graph visualizer'
|
|
11
|
+
s.description = 'A ruby interactive dependency graph visualizer'
|
|
12
12
|
s.license = 'MIT'
|
|
13
13
|
|
|
14
14
|
s.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
|
15
15
|
s.require_paths = ['../lib']
|
|
16
16
|
s.executables << 'rubrowser'
|
|
17
17
|
|
|
18
|
-
s.add_runtime_dependency 'sinatra', '~> 1.4', '>= 1.4.0'
|
|
19
18
|
s.add_runtime_dependency 'parser', '~> 2.3', '>= 2.3.0'
|
|
20
19
|
s.add_runtime_dependency 'parallel', '~> 1.9', '>= 1.9.0'
|
|
21
20
|
s.add_runtime_dependency 'haml', '~> 4.0', '>= 4.0.0'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubrowser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Emad Elsaid
|
|
@@ -10,26 +10,6 @@ bindir: bin
|
|
|
10
10
|
cert_chain: []
|
|
11
11
|
date: 2016-08-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: sinatra
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.4'
|
|
20
|
-
- - ">="
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: 1.4.0
|
|
23
|
-
type: :runtime
|
|
24
|
-
prerelease: false
|
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
-
requirements:
|
|
27
|
-
- - "~>"
|
|
28
|
-
- !ruby/object:Gem::Version
|
|
29
|
-
version: '1.4'
|
|
30
|
-
- - ">="
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: 1.4.0
|
|
33
13
|
- !ruby/object:Gem::Dependency
|
|
34
14
|
name: parser
|
|
35
15
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -90,7 +70,7 @@ dependencies:
|
|
|
90
70
|
- - ">="
|
|
91
71
|
- !ruby/object:Gem::Version
|
|
92
72
|
version: 4.0.0
|
|
93
|
-
description:
|
|
73
|
+
description: A ruby interactive dependency graph visualizer
|
|
94
74
|
email:
|
|
95
75
|
- blazeeboy@gmail.com
|
|
96
76
|
executables:
|
|
@@ -140,6 +120,6 @@ rubyforge_project:
|
|
|
140
120
|
rubygems_version: 2.6.3
|
|
141
121
|
signing_key:
|
|
142
122
|
specification_version: 4
|
|
143
|
-
summary:
|
|
123
|
+
summary: A ruby interactive dependency graph visualizer
|
|
144
124
|
test_files: []
|
|
145
125
|
has_rdoc:
|