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 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