phari_doc_gen 3.0.1 → 3.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/bin/phari_doc_gen +0 -0
- data/lib/phari_doc_gen.rb +5 -5
- data/lib/phari_doc_gen/{FileHandler.rb → fileHandler.rb} +48 -229
- data/lib/phari_doc_gen/meta.rb +4 -0
- data/lib/phari_doc_gen/{MethodParam.rb → methodParam.rb} +0 -0
- data/lib/phari_doc_gen/{Metodo.rb → metodo.rb} +1 -1
- data/lib/phari_doc_gen/{Modelo.rb → modelo.rb} +0 -0
- data/lib/phari_doc_gen/{Rota.rb → rota.rb} +0 -0
- data/lib/phari_doc_gen/templates/model.html.erb +126 -0
- data/lib/phari_doc_gen/templates/project.html.erb +50 -0
- data/lib/phari_doc_gen/templates/style.css +28 -0
- metadata +46 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25a089731181cdd74ef5e329ebea21ca0c76f470
|
4
|
+
data.tar.gz: 3bcb65a77bca2679904cc4cf4133a5d9b0fadbc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 96346210049485630f6a468ef809b4346d0cd1cb5037dcbb701ebd9fcc9571a5a8df8a8aff937eea6064c91cd3b90651d7b82cb226243eb75e3c5faff221a43f
|
7
|
+
data.tar.gz: 4183130f49d48de9f04e29fca8f6e2f3bdf1b8e505997f864ff3cb2c46e4e3c363ca80f654be546637ca68f79fc1c7278274e66efe3f45f9056adc786371c61c
|
data/bin/phari_doc_gen
CHANGED
File without changes
|
data/lib/phari_doc_gen.rb
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
#--------------------------------------------------------------------------------------------
|
7
7
|
|
8
8
|
require 'fileutils'
|
9
|
-
require_relative 'phari_doc_gen/
|
10
|
-
require_relative 'phari_doc_gen/
|
11
|
-
require_relative 'phari_doc_gen/
|
12
|
-
require_relative 'phari_doc_gen/
|
13
|
-
require_relative 'phari_doc_gen/
|
9
|
+
require_relative 'phari_doc_gen/modelo.rb'
|
10
|
+
require_relative 'phari_doc_gen/rota.rb'
|
11
|
+
require_relative 'phari_doc_gen/metodo.rb'
|
12
|
+
require_relative 'phari_doc_gen/methodParam.rb'
|
13
|
+
require_relative 'phari_doc_gen/fileHandler.rb'
|
14
14
|
|
15
15
|
class PhariDocGen
|
16
16
|
# Generate documentation for standard projects
|
@@ -5,10 +5,12 @@
|
|
5
5
|
# Luiz Philippe.
|
6
6
|
#--------------------------------------------------------------------------------------------
|
7
7
|
|
8
|
-
require_relative '
|
9
|
-
require_relative '
|
10
|
-
require_relative '
|
11
|
-
require_relative '
|
8
|
+
require_relative 'modelo.rb'
|
9
|
+
require_relative 'rota.rb'
|
10
|
+
require_relative 'metodo.rb'
|
11
|
+
require_relative 'methodParam.rb'
|
12
|
+
require_relative 'meta.rb'
|
13
|
+
require 'erubis'
|
12
14
|
|
13
15
|
class FileHandler
|
14
16
|
# Reading files
|
@@ -18,15 +20,11 @@ class FileHandler
|
|
18
20
|
package = ''
|
19
21
|
puts'Finding project'
|
20
22
|
puts'It may take some time...'
|
21
|
-
|
22
|
-
|
23
|
-
found = true
|
24
|
-
break
|
25
|
-
end
|
26
|
-
packagePath = package.to_s
|
23
|
+
packageName += '/' unless packageName.end_with?('/')
|
24
|
+
found = Dir.exists?(packageName)
|
27
25
|
if found
|
28
26
|
# Return the folder path if found
|
29
|
-
return
|
27
|
+
return packageName
|
30
28
|
else
|
31
29
|
# Exit if not found
|
32
30
|
puts 'Aborting: package not found'
|
@@ -89,6 +87,7 @@ class FileHandler
|
|
89
87
|
|
90
88
|
def nameFormat(name)
|
91
89
|
name = name.capitalize
|
90
|
+
name = name.slice(0, name.length-1) if name.end_with?('/')
|
92
91
|
while name.include?("/")
|
93
92
|
name = name.slice(name.index("/")+1, name.length - name.index("/"))
|
94
93
|
name = name.capitalize
|
@@ -531,7 +530,6 @@ class FileHandler
|
|
531
530
|
css.close
|
532
531
|
# Write the project main page
|
533
532
|
projectHTML = File.open(outputFolder + 'project.html', 'w')
|
534
|
-
writeHeader(projectHTML)
|
535
533
|
writeProjectPage(projectName, projectHTML, models, projectDescription)
|
536
534
|
projectHTML.close
|
537
535
|
# Write each model's page
|
@@ -539,7 +537,6 @@ class FileHandler
|
|
539
537
|
models.each do |model|
|
540
538
|
name = model.name.downcase
|
541
539
|
modelHTML = File.open(outputFolder + "models/#{name}.html", 'w')
|
542
|
-
writeHeaderInDir(modelHTML)
|
543
540
|
writeModelPage(modelHTML, model, projectName)
|
544
541
|
modelHTML.close
|
545
542
|
end
|
@@ -547,229 +544,51 @@ class FileHandler
|
|
547
544
|
|
548
545
|
# Write the css content
|
549
546
|
def writeCSS(file)
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
a{
|
554
|
-
color: #2CA896;
|
555
|
-
}
|
556
|
-
a:hover{
|
557
|
-
color: #333;
|
558
|
-
}
|
559
|
-
li{
|
560
|
-
padding-left: 3%;
|
561
|
-
}
|
562
|
-
code{
|
563
|
-
background-color: #DDD;
|
564
|
-
color: black;
|
565
|
-
}
|
566
|
-
.logo{
|
567
|
-
margin: 5%;
|
568
|
-
}
|
569
|
-
.left{
|
570
|
-
float: left;
|
571
|
-
}
|
572
|
-
.right{
|
573
|
-
float: right;
|
574
|
-
}
|
575
|
-
.list-indexes{
|
576
|
-
font-size: 24px;
|
577
|
-
}")
|
578
|
-
end
|
579
|
-
|
580
|
-
# Write the HTML header
|
581
|
-
def writeHeader(file)
|
582
|
-
file.write("<!DOCTYPE html>
|
583
|
-
|
584
|
-
<head lang='en'>
|
585
|
-
<meta charset='UTF-8'>
|
586
|
-
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' integrity='sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u' crossorigin='anonymous'>
|
587
|
-
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js' integrity='sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa' crossorigin='anonymous'></script>
|
588
|
-
<link rel='stylesheet' href='css/master.css'>
|
589
|
-
</head>
|
590
|
-
|
591
|
-
<body>
|
592
|
-
<nav class='navbar navbar-default navbar-fixed-top'>
|
593
|
-
<div class='container-fluid'>
|
594
|
-
<div class='navbar-header'>
|
595
|
-
<a href='project.html'><img class='logo' src='https://lh3.googleusercontent.com/ICEHU3m_zkW_82Xq8bEBKoIYHvPA4u_O6qEc-vUaeRWNppdQbPOLO5lm_mdEl0NPTxQ5vdINr1Nr6ZVGgmR8JF4FtjqzhncUDtU8JQSeP_14Wn83-lVVH9fGjNy5znkXYMdZzJuH5pxEDT0s6nAYp3VIf2YekczAbTjy1SHcdmT57fBGg2z9Ba4sr0OYJp8b5mVFRVxedqnI__nKo3ujRI7wOZ89ILi3EOaS51THdCXWZ8Uq8RgAPGEDXTNc65oodAessPFjFbOBXtpA9lWOYM3irkwB2VvAMmebDH75pGXKY2u9e21dJOrNlYjZhNPZN-hdbSBj-BAnNeDJO89VOXRVEw0eE16VSOj9t_04-kVsw2ZJkjZc7pdphaNkG-1h-LM3G6eI7gYtDf2f-nTO9EyziFFF_UOrHLTm1CuY_HfgvUZ4b4rCV5pSokgtbhecWys8kzO5SneXSV2VYDVQYuABT9UKv50u_oEQJggtFnD3pu2HV-r9EO210U272ormArABnRtL29SQVFrEa8sBfwVtLGP2fJ4eg5sGbogi3Lz4t30rQBWS8yMN2aLtLvvU8K5FbR-5VmC-HdhAAbv4ZJZO_x7SYUzMe4GlYzDnVai7jTmwr02UGf7jwoucYKjsSsH8R-ydgsYn45T5hWmxWZwLJtOsPy3BZTr_NV6-vQ=w800-h500-no' height='50px' alt='Logo'></a>
|
596
|
-
</div>
|
597
|
-
<ul class='nav navbar-nav'>
|
598
|
-
</ul>
|
599
|
-
</div>
|
600
|
-
</nav>
|
601
|
-
<br><br><br>")
|
602
|
-
end
|
603
|
-
|
604
|
-
# Write the HTML header with relative paths
|
605
|
-
def writeHeaderInDir(file)
|
606
|
-
file.write("<!DOCTYPE html>
|
607
|
-
|
608
|
-
<head lang='en'>
|
609
|
-
<meta charset='UTF-8'>
|
610
|
-
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' integrity='sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u' crossorigin='anonymous'>
|
611
|
-
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js' integrity='sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa' crossorigin='anonymous'></script>
|
612
|
-
<link rel='stylesheet' href='../css/master.css'>
|
613
|
-
</head>
|
614
|
-
|
615
|
-
<body>
|
616
|
-
<nav class='navbar navbar-default navbar-fixed-top'>
|
617
|
-
<div class='container-fluid'>
|
618
|
-
<div class='navbar-header'>
|
619
|
-
<a href='../project.html'><img class='logo' src='https://lh3.googleusercontent.com/ICEHU3m_zkW_82Xq8bEBKoIYHvPA4u_O6qEc-vUaeRWNppdQbPOLO5lm_mdEl0NPTxQ5vdINr1Nr6ZVGgmR8JF4FtjqzhncUDtU8JQSeP_14Wn83-lVVH9fGjNy5znkXYMdZzJuH5pxEDT0s6nAYp3VIf2YekczAbTjy1SHcdmT57fBGg2z9Ba4sr0OYJp8b5mVFRVxedqnI__nKo3ujRI7wOZ89ILi3EOaS51THdCXWZ8Uq8RgAPGEDXTNc65oodAessPFjFbOBXtpA9lWOYM3irkwB2VvAMmebDH75pGXKY2u9e21dJOrNlYjZhNPZN-hdbSBj-BAnNeDJO89VOXRVEw0eE16VSOj9t_04-kVsw2ZJkjZc7pdphaNkG-1h-LM3G6eI7gYtDf2f-nTO9EyziFFF_UOrHLTm1CuY_HfgvUZ4b4rCV5pSokgtbhecWys8kzO5SneXSV2VYDVQYuABT9UKv50u_oEQJggtFnD3pu2HV-r9EO210U272ormArABnRtL29SQVFrEa8sBfwVtLGP2fJ4eg5sGbogi3Lz4t30rQBWS8yMN2aLtLvvU8K5FbR-5VmC-HdhAAbv4ZJZO_x7SYUzMe4GlYzDnVai7jTmwr02UGf7jwoucYKjsSsH8R-ydgsYn45T5hWmxWZwLJtOsPy3BZTr_NV6-vQ=w800-h500-no' height='50px' alt='Logo'></a>
|
620
|
-
</div>
|
621
|
-
<ul class='nav navbar-nav'>
|
622
|
-
</ul>
|
623
|
-
</div>
|
624
|
-
</nav>
|
625
|
-
<br><br><br>")
|
547
|
+
css_file = gem_libdir+'/templates/style.css'
|
548
|
+
css = File.read(css_file)
|
549
|
+
file.write(css)
|
626
550
|
end
|
627
551
|
|
628
552
|
#Write the main project HTML content
|
629
553
|
def writeProjectPage(project, file, models, description)
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
<div class='col-md-4'>
|
644
|
-
<ul class='list-group'>")
|
645
|
-
unless models.nil?
|
646
|
-
models.each do |model|
|
647
|
-
link = model.name.downcase
|
648
|
-
name = model.name
|
649
|
-
file.write("\t\t<a href='models/#{link}.html' class='list-indexes list-group-item'>#{name}</a>
|
650
|
-
")
|
651
|
-
end
|
652
|
-
end
|
653
|
-
file.write("\t</ul>
|
654
|
-
</div>
|
655
|
-
<div class='col-md-4 col-md-offset-2'>
|
656
|
-
<img src='https://lh3.googleusercontent.com/0vxwJN77Sb33ktxcq2pv2jGLyhBvboPScuK6iiUnJFRFb1zfSR9_o_U1uJuMujA5lMrz2msol4oxiS5dZcmiULjbCgL54q-mVFEJZN4tFkm8G03Er8eBmCqlmlpBUu4fePmuhWcOoIVPGhdmLpN5WQOUtg8j4f98uiPuI9BhTalI7sN1H_KRLZBLY9UU22n_qXnAt2t-TsC5nr1-noJB0KSDpJMubjPPbJKhvRwPnrJINjZ9t00dTJkoeGlUCc5wS92GarlXTf1tUcEkfyYGyhwrphIqx06KpozuCKJLiFPKjLbEI_jfjx4hZEg8nR2HP-oKAv5b1tFH6tS6CmcHxWlo8iN5y7Xe1auIAosygKYG9j4lZOWaxsD7kGADf6r22J0UHj1Jyxrx5bp0J9l6QgFBg0NejB4kLkOu0yHM8TjgebOdRW1GXNfdXAcgYlzlzB5IWCDz7Iy8L7pSdDEOZsxP5Cb_7GY1LbvvXxZ68Zceg-mZGSOLXTR44XpxWZVA8xjzI6wQmONw-pSRgCycGnjPp5TWtoGNugk3OlY3ax3g7T0aGgRKthlmHqYSh4tWH6bgoBPpe41q7U6P9445VQG5gOlORuGADWQNrxbL-dzflclo7bDPlTNykfp_lmwdKg8JCYPuLGwStrpInNqk-sQQkNb30Cyk3NaaMEZWpQ=w300-h497-no' alt='Phari logo' width='100%'>
|
657
|
-
</div>
|
658
|
-
</div>
|
659
|
-
</div>
|
660
|
-
</body>")
|
554
|
+
variables = {
|
555
|
+
project: project,
|
556
|
+
file: file,
|
557
|
+
models: models,
|
558
|
+
description: description
|
559
|
+
}
|
560
|
+
erb_file = gem_libdir+'/templates/project.html.erb'
|
561
|
+
erb_str = File.read(erb_file)
|
562
|
+
# renderer = ERB.new(erb_str)
|
563
|
+
renderer = Erubis::Eruby.new(erb_str)
|
564
|
+
# result = renderer.result_with_hash(variables)
|
565
|
+
result = renderer.result(variables)
|
566
|
+
file.write(result)
|
661
567
|
end
|
662
568
|
|
663
569
|
# Write a model HTML page content
|
664
570
|
def writeModelPage(file, model, project)
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
<div class='row'>
|
688
|
-
<div class='col-md-6'>
|
689
|
-
<div class='panel panel-default'>
|
690
|
-
<div class='panel-heading'>
|
691
|
-
<h2>Methods</h2>
|
692
|
-
</div>
|
693
|
-
</div>
|
694
|
-
<ul class='list-group'>")
|
695
|
-
unless methods.nil?
|
696
|
-
methods.each do |method|
|
697
|
-
type = method.type
|
698
|
-
name = method.name
|
699
|
-
inputs = method.inputs
|
700
|
-
outputs = method.outputs
|
701
|
-
description = method.description
|
702
|
-
file.write(" <div class='list-group-item'>
|
703
|
-
<h4 class='list-group-item-heading'>CRUD: #{type}<br>Name: #{name}</h4>
|
704
|
-
<p><br>Inputs:<br><ul>")
|
705
|
-
unless inputs.nil?
|
706
|
-
inputs.each do |input|
|
707
|
-
input = input[1]
|
708
|
-
file.write("<li>#{input.serialize}</li>")
|
709
|
-
end
|
710
|
-
end
|
711
|
-
file.write("</ul><br>Outputs:<br><ul>")
|
712
|
-
unless outputs.nil?
|
713
|
-
outputs.each do |output|
|
714
|
-
output = output[1]
|
715
|
-
if output != 'nil'
|
716
|
-
file.write("<li>#{output.serialize}</li>")
|
717
|
-
else
|
718
|
-
file.write('<li>Null</li>')
|
719
|
-
end
|
720
|
-
end
|
721
|
-
end
|
722
|
-
file.write("</ul><br>Description: #{description}</p>
|
723
|
-
</div>")
|
724
|
-
end
|
725
|
-
end
|
726
|
-
file.write("</ul>
|
727
|
-
</div>
|
728
|
-
<div class='col-md-6'>
|
729
|
-
<div class='panel panel-default'>
|
730
|
-
<div class='panel-heading'>
|
731
|
-
<h2>Routes</h2>
|
732
|
-
</div>
|
733
|
-
</div>
|
734
|
-
<ul class='list-group'>")
|
735
|
-
unless routes.nil?
|
736
|
-
routes.each do |route|
|
737
|
-
type = route.type
|
738
|
-
name = route.name
|
739
|
-
request = route.request
|
740
|
-
dataInput = route.dataInput
|
741
|
-
inputs = route.inputs
|
742
|
-
outputs = route.outputs
|
743
|
-
file.write(" <div class='list-group-item'>
|
744
|
-
<h4 class='list-group-item-heading'>CRUD: #{type}<br>Name: #{name}</h4>
|
745
|
-
<p><br>Request: #{request}<br>
|
746
|
-
<br>Notation type: #{dataInput}<br>
|
747
|
-
<br>Inputs:<br><ul>")
|
748
|
-
unless inputs.nil?
|
749
|
-
inputs.each do |input|
|
750
|
-
input = input[1]
|
751
|
-
file.write("<li>#{input.serialize}</li>")
|
752
|
-
end
|
753
|
-
end
|
754
|
-
file.write("</ul><br>Outputs:<br><ul>")
|
755
|
-
unless outputs.nil?
|
756
|
-
outputs.each do |output|
|
757
|
-
output = output[1]
|
758
|
-
if output != 'nil'
|
759
|
-
file.write("<li>#{output.serialize}</li>")
|
760
|
-
else
|
761
|
-
file.write('<li>Null</li>')
|
762
|
-
end
|
763
|
-
end
|
764
|
-
end
|
765
|
-
file.write("</ul></p>
|
766
|
-
</div>")
|
767
|
-
end
|
768
|
-
end
|
769
|
-
file.write("</ul>
|
770
|
-
</div>
|
771
|
-
</div>
|
772
|
-
</div>
|
773
|
-
</body>")
|
571
|
+
variables = {
|
572
|
+
name: model.name,
|
573
|
+
relations: model.relations,
|
574
|
+
methods: model.methods,
|
575
|
+
routes: model.routes,
|
576
|
+
model: model,
|
577
|
+
project: project
|
578
|
+
}
|
579
|
+
erb_file = gem_libdir+'/templates/model.html.erb'
|
580
|
+
erb_str = File.read(erb_file)
|
581
|
+
# renderer = ERB.new(erb_str)
|
582
|
+
renderer = Erubis::Eruby.new(erb_str)
|
583
|
+
# result = renderer.result_with_hash(variables)
|
584
|
+
result = renderer.result(variables)
|
585
|
+
file.write(result)
|
586
|
+
end
|
587
|
+
|
588
|
+
def gem_libdir
|
589
|
+
t = ["#{File.dirname(File.expand_path($0))}/../lib/#{Meta::NAME}",
|
590
|
+
"#{Gem.dir}/gems/#{Meta::NAME}-#{Meta::VERSION}/lib/#{Meta::NAME}"]
|
591
|
+
t.each {|i| return i if File.readable?(i) }
|
592
|
+
raise "both paths are invalid: #{t}"
|
774
593
|
end
|
775
594
|
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,126 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<head lang='en'>
|
4
|
+
<meta charset='UTF-8'>
|
5
|
+
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' integrity='sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u' crossorigin='anonymous'>
|
6
|
+
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js' integrity='sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa' crossorigin='anonymous'></script>
|
7
|
+
<link rel='stylesheet' href='../css/master.css'>
|
8
|
+
</head>
|
9
|
+
|
10
|
+
<body>
|
11
|
+
<nav class='navbar navbar-default navbar-fixed-top'>
|
12
|
+
<div class='container-fluid'>
|
13
|
+
<div class='navbar-header'>
|
14
|
+
<a href='../project.html'><img class='logo' src='https://lh3.googleusercontent.com/ICEHU3m_zkW_82Xq8bEBKoIYHvPA4u_O6qEc-vUaeRWNppdQbPOLO5lm_mdEl0NPTxQ5vdINr1Nr6ZVGgmR8JF4FtjqzhncUDtU8JQSeP_14Wn83-lVVH9fGjNy5znkXYMdZzJuH5pxEDT0s6nAYp3VIf2YekczAbTjy1SHcdmT57fBGg2z9Ba4sr0OYJp8b5mVFRVxedqnI__nKo3ujRI7wOZ89ILi3EOaS51THdCXWZ8Uq8RgAPGEDXTNc65oodAessPFjFbOBXtpA9lWOYM3irkwB2VvAMmebDH75pGXKY2u9e21dJOrNlYjZhNPZN-hdbSBj-BAnNeDJO89VOXRVEw0eE16VSOj9t_04-kVsw2ZJkjZc7pdphaNkG-1h-LM3G6eI7gYtDf2f-nTO9EyziFFF_UOrHLTm1CuY_HfgvUZ4b4rCV5pSokgtbhecWys8kzO5SneXSV2VYDVQYuABT9UKv50u_oEQJggtFnD3pu2HV-r9EO210U272ormArABnRtL29SQVFrEa8sBfwVtLGP2fJ4eg5sGbogi3Lz4t30rQBWS8yMN2aLtLvvU8K5FbR-5VmC-HdhAAbv4ZJZO_x7SYUzMe4GlYzDnVai7jTmwr02UGf7jwoucYKjsSsH8R-ydgsYn45T5hWmxWZwLJtOsPy3BZTr_NV6-vQ=w800-h500-no' height='50px' alt='Logo'></a>
|
15
|
+
</div>
|
16
|
+
<ul class='nav navbar-nav'>
|
17
|
+
</ul>
|
18
|
+
</div>
|
19
|
+
</nav>
|
20
|
+
<br><br><br>
|
21
|
+
<div class='container panel panel-default'>
|
22
|
+
<div class='row'>
|
23
|
+
<div class='panel panel-default'>
|
24
|
+
<div class='panel-heading'>
|
25
|
+
<h1><%=project%></h1>
|
26
|
+
</div>
|
27
|
+
<div class='panel-body'>
|
28
|
+
<h2><%=name%> Model</h2>
|
29
|
+
<h4>
|
30
|
+
<%unless relations.nil?%>
|
31
|
+
<%for relation in relations%>
|
32
|
+
<br>
|
33
|
+
<%=relation%>
|
34
|
+
<%end%>
|
35
|
+
<%end%>
|
36
|
+
</h4>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
<div class='row'>
|
41
|
+
<div class='col-md-6'>
|
42
|
+
<div class='panel panel-default'>
|
43
|
+
<div class='panel-heading'>
|
44
|
+
<h2>Methods</h2>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
<ul class='list-group'>
|
48
|
+
<%unless methods.nil?%>
|
49
|
+
<%for method in methods%>
|
50
|
+
<%type = method.type%>
|
51
|
+
<%name = method.name%>
|
52
|
+
<%inputs = method.inputs%>
|
53
|
+
<%outputs = method.outputs%>
|
54
|
+
<%description = method.description%>
|
55
|
+
<div class='list-group-item'>
|
56
|
+
<h4 class='list-group-item-heading'>CRUD: <%=type%><br>Name: <%name%></h4>
|
57
|
+
<p><br>Inputs:<br><ul>
|
58
|
+
<%unless inputs.nil?%>
|
59
|
+
<%for input in inputs%>
|
60
|
+
<%input = input[1]%>
|
61
|
+
<li><%=input.serialize%></li>
|
62
|
+
<%end%>
|
63
|
+
<%end%>
|
64
|
+
</ul><br>Outputs:<br><ul>
|
65
|
+
<%unless outputs.nil?%>
|
66
|
+
<% for output in outputs%>
|
67
|
+
<%output = output[1]%>
|
68
|
+
<%if output != 'nil'%>
|
69
|
+
<li><%=output.serialize%></li>
|
70
|
+
<%else%>
|
71
|
+
<li>Null</li>
|
72
|
+
<%end%>
|
73
|
+
<%end%>
|
74
|
+
<%end%>
|
75
|
+
</ul><br>Description: <%=description%></p>
|
76
|
+
</div>
|
77
|
+
<%end%>
|
78
|
+
<%end%>
|
79
|
+
</ul>
|
80
|
+
</div>
|
81
|
+
<div class='col-md-6'>
|
82
|
+
<div class='panel panel-default'>
|
83
|
+
<div class='panel-heading'>
|
84
|
+
<h2>Routes</h2>
|
85
|
+
</div>
|
86
|
+
</div>
|
87
|
+
<ul class='list-group'>
|
88
|
+
<%unless routes.nil?%>
|
89
|
+
<%for route in routes%>
|
90
|
+
<%type = route.type%>
|
91
|
+
<%name = route.name%>
|
92
|
+
<%request = route.request%>
|
93
|
+
<%dataInput = route.dataInput%>
|
94
|
+
<%inputs = route.inputs%>
|
95
|
+
<%outputs = route.outputs%>
|
96
|
+
<div class='list-group-item'>
|
97
|
+
<h4 class='list-group-item-heading'>CRUD: <%=type%><br>Name: <%=name%></h4>
|
98
|
+
<p><br>Request: <%=request%><br>
|
99
|
+
<br>Notation type: <%=dataInput%><br>
|
100
|
+
<br>Inputs:<br><ul>
|
101
|
+
<%unless inputs.nil?%>
|
102
|
+
<%inputs.each do |input|%>
|
103
|
+
<%input = input[1]%>
|
104
|
+
<li><%=input.serialize%></li>
|
105
|
+
<%end%>
|
106
|
+
<%end%>
|
107
|
+
</ul><br>Outputs:<br><ul>
|
108
|
+
<%unless outputs.nil?%>
|
109
|
+
<%outputs.each do |output|%>
|
110
|
+
<%output = output[1]%>
|
111
|
+
<%if output != 'nil'%>
|
112
|
+
<li><%=output.serialize%></li>
|
113
|
+
<%else%>
|
114
|
+
<li>Null</li>
|
115
|
+
<%end%>
|
116
|
+
<%end%>
|
117
|
+
<%end%>
|
118
|
+
</ul></p>
|
119
|
+
</div>
|
120
|
+
<%end%>
|
121
|
+
<%end%>
|
122
|
+
</ul>
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
</div>
|
126
|
+
</body>
|
@@ -0,0 +1,50 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<head lang='en'>
|
4
|
+
<meta charset='UTF-8'>
|
5
|
+
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' integrity='sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u' crossorigin='anonymous'>
|
6
|
+
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js' integrity='sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa' crossorigin='anonymous'></script>
|
7
|
+
<link rel='stylesheet' href='css/master.css'>
|
8
|
+
</head>
|
9
|
+
|
10
|
+
<body>
|
11
|
+
<nav class='navbar navbar-default navbar-fixed-top'>
|
12
|
+
<div class='container-fluid'>
|
13
|
+
<div class='navbar-header'>
|
14
|
+
<a href='project.html'><img class='logo' src='https://lh3.googleusercontent.com/ICEHU3m_zkW_82Xq8bEBKoIYHvPA4u_O6qEc-vUaeRWNppdQbPOLO5lm_mdEl0NPTxQ5vdINr1Nr6ZVGgmR8JF4FtjqzhncUDtU8JQSeP_14Wn83-lVVH9fGjNy5znkXYMdZzJuH5pxEDT0s6nAYp3VIf2YekczAbTjy1SHcdmT57fBGg2z9Ba4sr0OYJp8b5mVFRVxedqnI__nKo3ujRI7wOZ89ILi3EOaS51THdCXWZ8Uq8RgAPGEDXTNc65oodAessPFjFbOBXtpA9lWOYM3irkwB2VvAMmebDH75pGXKY2u9e21dJOrNlYjZhNPZN-hdbSBj-BAnNeDJO89VOXRVEw0eE16VSOj9t_04-kVsw2ZJkjZc7pdphaNkG-1h-LM3G6eI7gYtDf2f-nTO9EyziFFF_UOrHLTm1CuY_HfgvUZ4b4rCV5pSokgtbhecWys8kzO5SneXSV2VYDVQYuABT9UKv50u_oEQJggtFnD3pu2HV-r9EO210U272ormArABnRtL29SQVFrEa8sBfwVtLGP2fJ4eg5sGbogi3Lz4t30rQBWS8yMN2aLtLvvU8K5FbR-5VmC-HdhAAbv4ZJZO_x7SYUzMe4GlYzDnVai7jTmwr02UGf7jwoucYKjsSsH8R-ydgsYn45T5hWmxWZwLJtOsPy3BZTr_NV6-vQ=w800-h500-no' height='50px' alt='Logo'></a>
|
15
|
+
</div>
|
16
|
+
<ul class='nav navbar-nav'>
|
17
|
+
</ul>
|
18
|
+
</div>
|
19
|
+
</nav>
|
20
|
+
<br><br><br>
|
21
|
+
<div class='container panel panel-default'>
|
22
|
+
<div class='row'>
|
23
|
+
<div class='panel panel-default'>
|
24
|
+
<div class='panel-heading'>
|
25
|
+
<h1><%=project%></h1>
|
26
|
+
</div>
|
27
|
+
<div class='panel-body'>
|
28
|
+
<h2>Project Description</h2>
|
29
|
+
<%=description%>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
<div class='row'>
|
34
|
+
<div class='col-md-4'>
|
35
|
+
<ul class='list-group'>
|
36
|
+
<%unless models.nil?%>
|
37
|
+
<%for model in models%>
|
38
|
+
<%link = "models/#{model.name.downcase}.html"%>
|
39
|
+
<%name = model.name%>
|
40
|
+
<a href='<%=link%>' class='list-indexes list-group-item'><%=name%></a>
|
41
|
+
<%end%>
|
42
|
+
<%end%>
|
43
|
+
</ul>
|
44
|
+
</div>
|
45
|
+
<div class='col-md-4 col-md-offset-2'>
|
46
|
+
<img src='https://lh3.googleusercontent.com/0vxwJN77Sb33ktxcq2pv2jGLyhBvboPScuK6iiUnJFRFb1zfSR9_o_U1uJuMujA5lMrz2msol4oxiS5dZcmiULjbCgL54q-mVFEJZN4tFkm8G03Er8eBmCqlmlpBUu4fePmuhWcOoIVPGhdmLpN5WQOUtg8j4f98uiPuI9BhTalI7sN1H_KRLZBLY9UU22n_qXnAt2t-TsC5nr1-noJB0KSDpJMubjPPbJKhvRwPnrJINjZ9t00dTJkoeGlUCc5wS92GarlXTf1tUcEkfyYGyhwrphIqx06KpozuCKJLiFPKjLbEI_jfjx4hZEg8nR2HP-oKAv5b1tFH6tS6CmcHxWlo8iN5y7Xe1auIAosygKYG9j4lZOWaxsD7kGADf6r22J0UHj1Jyxrx5bp0J9l6QgFBg0NejB4kLkOu0yHM8TjgebOdRW1GXNfdXAcgYlzlzB5IWCDz7Iy8L7pSdDEOZsxP5Cb_7GY1LbvvXxZ68Zceg-mZGSOLXTR44XpxWZVA8xjzI6wQmONw-pSRgCycGnjPp5TWtoGNugk3OlY3ax3g7T0aGgRKthlmHqYSh4tWH6bgoBPpe41q7U6P9445VQG5gOlORuGADWQNrxbL-dzflclo7bDPlTNykfp_lmwdKg8JCYPuLGwStrpInNqk-sQQkNb30Cyk3NaaMEZWpQ=w300-h497-no' alt='Phari logo' width='100%'>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
50
|
+
</body>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
body{
|
2
|
+
background-color: #2CA896;
|
3
|
+
}
|
4
|
+
a{
|
5
|
+
color: #2CA896;
|
6
|
+
}
|
7
|
+
a:hover{
|
8
|
+
color: #333;
|
9
|
+
}
|
10
|
+
li{
|
11
|
+
padding-left: 3%;
|
12
|
+
}
|
13
|
+
code{
|
14
|
+
background-color: #DDD;
|
15
|
+
color: black;
|
16
|
+
}
|
17
|
+
.logo{
|
18
|
+
margin: 5%;
|
19
|
+
}
|
20
|
+
.left{
|
21
|
+
float: left;
|
22
|
+
}
|
23
|
+
.right{
|
24
|
+
float: right;
|
25
|
+
}
|
26
|
+
.list-indexes{
|
27
|
+
font-size: 24px;
|
28
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phari_doc_gen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Phari Solutions
|
8
|
+
- Luiz Philippe
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2018-
|
12
|
+
date: 2018-02-21 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: activesupport
|
@@ -30,6 +31,40 @@ dependencies:
|
|
30
31
|
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: 5.1.4
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: rubysl-erb
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.0'
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 2.0.2
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - "~>"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '2.0'
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 2.0.2
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: erubis
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '2.7'
|
61
|
+
type: :runtime
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '2.7'
|
33
68
|
description: |2-
|
34
69
|
Hi there, friend! PhariDoc Generator is a simple
|
35
70
|
and functional documentation generator for Ruby web aps.
|
@@ -50,11 +85,15 @@ extra_rdoc_files: []
|
|
50
85
|
files:
|
51
86
|
- bin/phari_doc_gen
|
52
87
|
- lib/phari_doc_gen.rb
|
53
|
-
- lib/phari_doc_gen/
|
54
|
-
- lib/phari_doc_gen/
|
55
|
-
- lib/phari_doc_gen/
|
56
|
-
- lib/phari_doc_gen/
|
57
|
-
- lib/phari_doc_gen/
|
88
|
+
- lib/phari_doc_gen/fileHandler.rb
|
89
|
+
- lib/phari_doc_gen/meta.rb
|
90
|
+
- lib/phari_doc_gen/methodParam.rb
|
91
|
+
- lib/phari_doc_gen/metodo.rb
|
92
|
+
- lib/phari_doc_gen/modelo.rb
|
93
|
+
- lib/phari_doc_gen/rota.rb
|
94
|
+
- lib/phari_doc_gen/templates/model.html.erb
|
95
|
+
- lib/phari_doc_gen/templates/project.html.erb
|
96
|
+
- lib/phari_doc_gen/templates/style.css
|
58
97
|
homepage: https://gitlab.com/LuizPPA/PhariDocGen
|
59
98
|
licenses:
|
60
99
|
- Beerware
|