phari_doc_gen 3.0.1 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|