phari_doc_gen 2.0.3 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/phari_doc_gen/FileHandler.rb +51 -4
- data/lib/phari_doc_gen/Modelo.rb +7 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32a910fca9b0a5e880ad92810b525d2bbb660c68
|
4
|
+
data.tar.gz: ca0cd94ddd0d1c937e0e38c7d74dd2f4b5cb0d3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db63b3191a9da9f8aa928ba7900cffdb2f6559a307dc7b164b0662a2dd63a9449a0ee707ee8d7d18249080b02683f6940e2900af4c79bc5122ec4aa97d0dcc7a
|
7
|
+
data.tar.gz: 89a6db34e44842535846b0e030e3efb225589eae398e5165d467437e1ea79fae892fac9c5f67711e6b6c72541886acd38ae3762a0b8a7a9d43b6a47d12282ae3
|
@@ -20,8 +20,9 @@ class FileHandler
|
|
20
20
|
puts'Finding project'
|
21
21
|
puts'It may take some time...'
|
22
22
|
Dir.glob('/**/' + packageName + '/') do |folder|
|
23
|
-
package = folder
|
23
|
+
package = folder
|
24
24
|
found = true
|
25
|
+
break
|
25
26
|
end
|
26
27
|
packagePath = package.to_s
|
27
28
|
if found
|
@@ -40,6 +41,7 @@ class FileHandler
|
|
40
41
|
if File.exists?(path + 'README.md')
|
41
42
|
readme = File.new(path + 'README.md')
|
42
43
|
projectDescription = readProjectDescription(readme)
|
44
|
+
readme.close
|
43
45
|
projectDescription
|
44
46
|
else
|
45
47
|
puts 'Warning: No README.md file found.'
|
@@ -54,16 +56,22 @@ class FileHandler
|
|
54
56
|
filename = file.to_s
|
55
57
|
inputFile = File.new(filename)
|
56
58
|
modelname = File.basename(inputFile, '.rb')
|
59
|
+
modelPath = path + 'api/models/' + modelname + '.rb'
|
57
60
|
helpername = path + 'api/app/helpers/' + modelname + '_helper.rb'
|
58
61
|
controllername = path + 'api/app/controllers/' + modelname + '.rb'
|
59
62
|
if File.exist?(helpername) && File.exist?(controllername)
|
60
|
-
# Call the necessary methods for each helper and controller
|
63
|
+
# Call the necessary methods for each helper, model and controller
|
64
|
+
modelFile = File.new(modelPath, 'r')
|
61
65
|
modelHelper = File.new(helpername, 'r')
|
62
66
|
modelController = File.new(controllername, 'r')
|
67
|
+
relations = readRelations(modelFile, modelname, modelPath)
|
63
68
|
methods = readMethods(modelHelper, helpername)
|
64
69
|
routes = readRoutes(modelController, controllername)
|
65
|
-
currentModel = Modelo.new(modelname, methods, routes)
|
70
|
+
currentModel = Modelo.new(modelname, methods, routes, relations)
|
66
71
|
models << currentModel
|
72
|
+
modelFile.close
|
73
|
+
modelHelper.close
|
74
|
+
modelController.close
|
67
75
|
end
|
68
76
|
end
|
69
77
|
# Return models
|
@@ -72,7 +80,7 @@ class FileHandler
|
|
72
80
|
|
73
81
|
# Auxiliary methods of reading
|
74
82
|
|
75
|
-
#Generate project descriprion based on 'README.md'
|
83
|
+
# Generate project descriprion based on 'README.md'
|
76
84
|
def readProjectDescription(readme)
|
77
85
|
isCode = false
|
78
86
|
@projectDescription = ''
|
@@ -154,6 +162,39 @@ class FileHandler
|
|
154
162
|
line
|
155
163
|
end
|
156
164
|
|
165
|
+
# Read relations from model file
|
166
|
+
def readRelations(modelFile, modelname, modelPath)
|
167
|
+
lineIndex = 0
|
168
|
+
relations = []
|
169
|
+
arr = IO.readlines(modelFile)
|
170
|
+
# Read each line from model
|
171
|
+
arr.each do |line|
|
172
|
+
# Verify presence of any clause
|
173
|
+
if hasKeyword?(line, lineIndex, modelname)
|
174
|
+
# If it does, identify which clause it is
|
175
|
+
arg = decodeArgument(line)
|
176
|
+
keyword = arg[0]
|
177
|
+
argument = arg[1]
|
178
|
+
# Execute clause
|
179
|
+
case keyword
|
180
|
+
when 'belongs_to'
|
181
|
+
relation = modelname.capitalize + ' belongs to ' + argument
|
182
|
+
relations << relation
|
183
|
+
when 'has_one'
|
184
|
+
relation = modelname.capitalize + ' has one ' + argument
|
185
|
+
relations << relation
|
186
|
+
when 'has_many'
|
187
|
+
relation = modelname.capitalize + ' has many ' + argument
|
188
|
+
relations << relation
|
189
|
+
when 'has_and_belongs_to_many'
|
190
|
+
relation = modelname.capitalize + ' has and belongs to many ' + argument
|
191
|
+
relations << relation
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
relations
|
196
|
+
end
|
197
|
+
|
157
198
|
# Read all methods from a helper file; helper = file, helpername = file path
|
158
199
|
def readMethods(helper, helpername)
|
159
200
|
lineIndex = 0
|
@@ -554,6 +595,7 @@ class FileHandler
|
|
554
595
|
# Write a model HTML page content
|
555
596
|
def writeModelPage(file, model, project)
|
556
597
|
name = model.name.capitalize
|
598
|
+
relations = model.relations
|
557
599
|
file.write("<div class='container panel panel-default'>
|
558
600
|
<div class='row'>
|
559
601
|
<div class='panel panel-default'>
|
@@ -562,6 +604,11 @@ class FileHandler
|
|
562
604
|
</div>
|
563
605
|
<div class='panel-body'>
|
564
606
|
<h2>#{name} Model</h2>
|
607
|
+
<h4>")
|
608
|
+
relations.each do |relation|
|
609
|
+
file.write('<br>'+relation)
|
610
|
+
end
|
611
|
+
file.write("</h4>
|
565
612
|
</div>
|
566
613
|
</div>
|
567
614
|
</div>
|
data/lib/phari_doc_gen/Modelo.rb
CHANGED
@@ -8,12 +8,14 @@
|
|
8
8
|
class Modelo
|
9
9
|
@methods = []
|
10
10
|
@routes = []
|
11
|
+
@relations = []
|
11
12
|
@name = ''
|
12
13
|
|
13
|
-
def initialize(givenName, methodList, routeList)
|
14
|
+
def initialize(givenName, methodList, routeList, relationsList)
|
14
15
|
@name = givenName
|
15
16
|
@methods = methodList
|
16
17
|
@routes = routeList
|
18
|
+
@relations = relationsList
|
17
19
|
end
|
18
20
|
|
19
21
|
def printSelf
|
@@ -35,4 +37,8 @@ class Modelo
|
|
35
37
|
def routes
|
36
38
|
@routes
|
37
39
|
end
|
40
|
+
|
41
|
+
def relations
|
42
|
+
@relations
|
43
|
+
end
|
38
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phari_doc_gen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Phari Solutions
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |2-
|
14
14
|
Hi there buddy! I've heard you've been looking for a simple
|
@@ -56,7 +56,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
56
56
|
requirements:
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '0'
|
59
|
+
version: '2.0'
|
60
60
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
62
|
- - ">="
|