draw_uml 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/draw_uml/configure.rb +2 -2
- data/lib/draw_uml/engine.rb +52 -12
- data/lib/draw_uml/tree/branch.rb +5 -8
- data/lib/draw_uml/tree/leaf.rb +7 -2
- data/lib/draw_uml/version.rb +1 -1
- data/lib/templates/layouts/application.html.erb +32 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16573e1346be07f6a72455846d71b467481650eb
|
4
|
+
data.tar.gz: 21e1ea5695fa77ca471cfcc291f96ea59b5f2ad1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 01061dff6d43219858caf9172bcacde58cb4331f9f34348b8a4a85f4d8c8ec50b50009b7b25cd7b01a549470b2c1a4ab0a390c9d6118be382e4b250f9ee1766e
|
7
|
+
data.tar.gz: 948eb17cdab82df86a8a75b09f792e1e92aa0989df6cc27140097fcc5c209624d60e53163408a2d278069962b6a0aaf38c2ff8a8f160c493dc94ac783f06e7e4
|
data/lib/draw_uml/configure.rb
CHANGED
data/lib/draw_uml/engine.rb
CHANGED
@@ -1,23 +1,20 @@
|
|
1
1
|
require 'rack'
|
2
2
|
require 'erb'
|
3
|
-
require 'pp'
|
4
3
|
|
5
4
|
module DrawUml
|
6
5
|
class Engine
|
7
6
|
class << self
|
8
7
|
def call(env)
|
9
|
-
request = Rack::Request.new(env)
|
10
|
-
|
8
|
+
@request = Rack::Request.new(env)
|
9
|
+
file_path = @request.params['path'] ||= nil
|
10
|
+
image_path = nil
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
files = DrawUml::Configure.source_file.map { |file| File.basename(file, '.*') }
|
20
|
-
image_path = File.join(DrawUml::Configure.image_path, files[id] + '.png')
|
12
|
+
unless file_path.nil?
|
13
|
+
diagram = DrawUml::Diagram.new(DrawUml::Configure.dest_path)
|
14
|
+
diagram.create(expand_path(file_path))
|
15
|
+
file = File.basename(file_path, '.*')
|
16
|
+
image_path = File.join(DrawUml::Configure.image_path, file + '.png')
|
17
|
+
end
|
21
18
|
|
22
19
|
erb = ERB.new(DrawUml::Configure.application_template)
|
23
20
|
body = erb.result(binding)
|
@@ -26,6 +23,49 @@ module DrawUml
|
|
26
23
|
headers = {'Content-Type' => 'text/html'}
|
27
24
|
[status, headers, [body]]
|
28
25
|
end
|
26
|
+
|
27
|
+
def tree
|
28
|
+
@raw = ''
|
29
|
+
branch(DrawUml::Tree.create(DrawUml::Configure.source_path))
|
30
|
+
@raw
|
31
|
+
end
|
32
|
+
|
33
|
+
def branch(node)
|
34
|
+
@raw += "<div style=\"padding-left: #{node.level}0px;\">\n"
|
35
|
+
@raw += "<h3>#{node.name}</h3>\n"
|
36
|
+
arr = []
|
37
|
+
node.entries.each do |entry|
|
38
|
+
if entry.leaf?
|
39
|
+
arr << entry
|
40
|
+
else
|
41
|
+
branch(entry)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
@raw += "<ul>"
|
45
|
+
@raw += arr.map do |entry|
|
46
|
+
link_to(entry)
|
47
|
+
end.join("\n")
|
48
|
+
@raw += "</ul></div>\n"
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
def link_to(entry)
|
53
|
+
raw = ''
|
54
|
+
raw += "<li>"
|
55
|
+
raw += "<a href=#{@request.path}?path="
|
56
|
+
raw += "#{contract_path(entry.path)}>#{entry.name}</a>"
|
57
|
+
raw += "</li>"
|
58
|
+
raw
|
59
|
+
end
|
60
|
+
|
61
|
+
def contract_path(path)
|
62
|
+
path.sub(DrawUml::Configure.parent_path, '')
|
63
|
+
end
|
64
|
+
|
65
|
+
def expand_path(path)
|
66
|
+
File.join(DrawUml::Configure.parent_path, path)
|
67
|
+
end
|
68
|
+
# end private
|
29
69
|
end
|
30
70
|
end
|
31
71
|
end
|
data/lib/draw_uml/tree/branch.rb
CHANGED
@@ -3,26 +3,23 @@ module DrawUml
|
|
3
3
|
class Branch < DrawUml::Tree::Leaf
|
4
4
|
attr_reader :entries
|
5
5
|
|
6
|
-
def initialize(name)
|
6
|
+
def initialize(name, level=0)
|
7
7
|
@entries = []
|
8
8
|
super
|
9
9
|
node
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
13
|
-
|
14
|
-
block.call(entry)
|
15
|
-
entry.each(&block) if entry.is_a?(DrawUml::Tree::Branch)
|
16
|
-
end
|
12
|
+
def leaf?
|
13
|
+
false
|
17
14
|
end
|
18
15
|
|
19
16
|
private
|
20
17
|
def node
|
21
18
|
Dir[File.join(path, '*')].each do |path|
|
22
19
|
if File.directory?(path)
|
23
|
-
entries << DrawUml::Tree::Branch.new(path)
|
20
|
+
entries << DrawUml::Tree::Branch.new(path, level+1)
|
24
21
|
else
|
25
|
-
entries << DrawUml::Tree::Leaf.new(path)
|
22
|
+
entries << DrawUml::Tree::Leaf.new(path, level+1)
|
26
23
|
end
|
27
24
|
end
|
28
25
|
end
|
data/lib/draw_uml/tree/leaf.rb
CHANGED
@@ -1,11 +1,16 @@
|
|
1
1
|
module DrawUml
|
2
2
|
module Tree
|
3
3
|
class Leaf
|
4
|
-
attr_reader :name, :path
|
4
|
+
attr_reader :name, :path, :level
|
5
5
|
|
6
|
-
def initialize(name)
|
6
|
+
def initialize(name, level=0)
|
7
7
|
@name = File.basename(name, '.*')
|
8
8
|
@path = File.expand_path(name)
|
9
|
+
@level = level
|
10
|
+
end
|
11
|
+
|
12
|
+
def leaf?
|
13
|
+
true
|
9
14
|
end
|
10
15
|
end
|
11
16
|
end
|
data/lib/draw_uml/version.rb
CHANGED
@@ -2,28 +2,48 @@
|
|
2
2
|
<html>
|
3
3
|
<head><title>Diagrams</title>
|
4
4
|
<style type="text/css">
|
5
|
-
|
6
|
-
|
5
|
+
|
6
|
+
body { background-color: #fff; color: #333; }
|
7
|
+
|
8
|
+
body, p, ol, ul, td {
|
9
|
+
font-family: helvetica, verdana, arial, sans-serif;
|
10
|
+
font-size: 13px;
|
11
|
+
line-height: 18px;
|
12
|
+
}
|
13
|
+
|
14
|
+
pre {
|
15
|
+
background-color: #eee;
|
16
|
+
padding: 10px;
|
17
|
+
font-size: 11px;
|
18
|
+
white-space: pre-wrap;
|
19
|
+
}
|
20
|
+
|
21
|
+
a { color: #000; }
|
22
|
+
a:visited { color: #666; }
|
23
|
+
a:hover { color: #fff; background-color:#000; }
|
24
|
+
|
25
|
+
h2 { padding-left: 10px; }
|
26
|
+
h3 { padding-left: 10px; }
|
27
|
+
|
28
|
+
div.tree {
|
7
29
|
float:left;
|
8
30
|
}
|
9
31
|
|
10
32
|
div.draw img {
|
11
33
|
padding-top: 40px;
|
12
|
-
padding-left:
|
34
|
+
padding-left: 60px;
|
13
35
|
}
|
14
36
|
</style>
|
15
37
|
</head>
|
16
38
|
<body>
|
39
|
+
<h2>Unified Modeling Language</h2>
|
17
40
|
|
18
|
-
<div class='
|
19
|
-
|
20
|
-
|
21
|
-
<% end %>
|
22
|
-
</div>
|
23
|
-
|
24
|
-
<div class='draw'>
|
25
|
-
<img src=<%= image_path %>>
|
26
|
-
</div>
|
41
|
+
<div class='tree'>
|
42
|
+
<%= tree %>
|
43
|
+
</div>
|
27
44
|
|
45
|
+
<div class='draw'>
|
46
|
+
<img src=<%= image_path %>>
|
47
|
+
</div>
|
28
48
|
</body>
|
29
49
|
</html>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: draw_uml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ogom
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|