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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8363d2e3ebb1efb5a7f7133f6f0f1e2ae1fd5fa2
4
- data.tar.gz: 3e5e4f8cb1dd1df3b11ae5da6db9bf7def5ac317
3
+ metadata.gz: 25a089731181cdd74ef5e329ebea21ca0c76f470
4
+ data.tar.gz: 3bcb65a77bca2679904cc4cf4133a5d9b0fadbc9
5
5
  SHA512:
6
- metadata.gz: e0864311931420cac80816fd3a3aa4e62194e096a11e056103cfa0eb09461dc4adb4c371513e95a8cd28ed7a3c7b1bc9ea12988033d13c64a178433ab2b68f19
7
- data.tar.gz: a7f47d80781ea8ab42a54eaeee510d142e1f8387faa9d7bb0a560c90a3a57bb230d60ee04887fefaf3611b502d732c4fabd1c5a559660b6c5f672db2ac24e14e
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/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'
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 'Modelo.rb'
9
- require_relative 'Rota.rb'
10
- require_relative 'Metodo.rb'
11
- require_relative 'MethodParam.rb'
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
- Dir.glob('/**/' + packageName + '/') do |folder|
22
- package = folder
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 packagePath
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
- file.write("body{
551
- background-color: #2CA896;
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
- file.write("<div class='container panel panel-default'>
631
- <div class='row'>
632
- <div class='panel panel-default'>
633
- <div class='panel-heading'>
634
- <h1>#{project}</h1>
635
- </div>
636
- <div class='panel-body'>
637
- <h2>Project Description</h2>
638
- #{description}
639
- </div>
640
- </div>
641
- </div>
642
- <div class='row'>
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
- name = model.name
666
- relations = model.relations
667
- methods = model.methods
668
- routes = model.routes
669
- file.write("<div class='container panel panel-default'>
670
- <div class='row'>
671
- <div class='panel panel-default'>
672
- <div class='panel-heading'>
673
- <h1>#{project}</h1>
674
- </div>
675
- <div class='panel-body'>
676
- <h2>#{name} Model</h2>
677
- <h4>")
678
- unless relations.nil?
679
- relations.each do |relation|
680
- file.write('<br>'+relation)
681
- end
682
- end
683
- file.write("</h4>
684
- </div>
685
- </div>
686
- </div>
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
@@ -0,0 +1,4 @@
1
+ module Meta
2
+ NAME = 'phari_doc_gen'
3
+ VERSION = '3.1.0'
4
+ end
@@ -5,7 +5,7 @@
5
5
  # Luiz Philippe.
6
6
  #--------------------------------------------------------------------------------------------
7
7
 
8
- require_relative 'MethodParam.rb'
8
+ require_relative 'methodParam.rb'
9
9
 
10
10
  class Metodo
11
11
  @type = ''
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.1
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-01-03 00:00:00.000000000 Z
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/FileHandler.rb
54
- - lib/phari_doc_gen/MethodParam.rb
55
- - lib/phari_doc_gen/Metodo.rb
56
- - lib/phari_doc_gen/Modelo.rb
57
- - lib/phari_doc_gen/Rota.rb
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