phari_doc_gen 2.0.3 → 2.1.0
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/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
|
- - ">="
|