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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 179bf4069abbf822ef6259e2d3670c76b9a69dca
4
- data.tar.gz: 46037dafd0c71328f06ad65bfec310a39afc3b92
3
+ metadata.gz: 32a910fca9b0a5e880ad92810b525d2bbb660c68
4
+ data.tar.gz: ca0cd94ddd0d1c937e0e38c7d74dd2f4b5cb0d3d
5
5
  SHA512:
6
- metadata.gz: 2389fd25d4f70245c5ce3a0acf0e2fdb846eb2b35712953f83cd1f381ad1981c36a2a59ae4a06e2bb634cd1d43666a5bcebf43ee477e0bc1f7d0591a3cab1e4c
7
- data.tar.gz: 75a78882b877ea080f3e2bc44dd34996731a18a770f6a893bd253a4512c5037fe42ae132583dfe30537125b99b1aaa737d4f225d2f608b1f49be8daa1909f63a
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 unless found
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>
@@ -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.3
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-05-29 00:00:00.000000000 Z
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
  - - ">="