rapi_doc 0.3.1 → 0.4.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.
- data/.project +17 -0
- data/.rvmrc +1 -1
- data/Gemfile +5 -3
- data/Gemfile.lock +9 -3
- data/README.md +124 -13
- data/Rakefile +6 -4
- data/VERSION +1 -1
- data/autoscan.log +0 -0
- data/configure.scan +17 -0
- data/lib/rapi_doc.rb +75 -51
- data/lib/rapi_doc/method_doc.rb +71 -0
- data/lib/rapi_doc/rapi_config.rb +40 -0
- data/lib/rapi_doc/resource_doc.rb +85 -0
- data/lib/rapi_doc/tasks/rapi_doc_tasks.rake +29 -30
- data/templates/Search.png +0 -0
- data/templates/_resource_header.html.haml +17 -0
- data/templates/_resource_method.html.haml +38 -0
- data/templates/index.html.haml +40 -0
- data/templates/scripts.js +22 -0
- data/templates/styles.css +80 -0
- metadata +75 -29
- data/lib/doc_parser.rb +0 -53
- data/lib/doc_util.rb +0 -8
- data/lib/method_doc.rb +0 -44
- data/lib/rapi_config.rb +0 -37
- data/lib/resource_doc.rb +0 -102
- data/templates/_resource_header.html.erb +0 -18
- data/templates/_resource_method.html.erb +0 -56
- data/templates/class_layout.html.erb +0 -36
- data/templates/config.yml +0 -3
- data/templates/frameset.html.erb +0 -11
- data/templates/layout.html.erb +0 -69
- data/templates/main.html.erb +0 -15
@@ -0,0 +1,40 @@
|
|
1
|
+
module RapiDoc
|
2
|
+
module RapiConfig
|
3
|
+
|
4
|
+
# following helper methods return the directory location if no file type is specified or return the file location
|
5
|
+
# for that directory if one is supplied
|
6
|
+
def template_dir(f = nil)
|
7
|
+
@template_dir ||= File.join(File.dirname(__FILE__), '../../templates')
|
8
|
+
form_file_name @template_dir, f
|
9
|
+
end
|
10
|
+
|
11
|
+
def config_dir(f = nil)
|
12
|
+
@config_dir ||= File.join(::Rails.root.to_s, 'config/rapi_doc')
|
13
|
+
form_file_name @config_dir, f
|
14
|
+
end
|
15
|
+
|
16
|
+
def target_dir(f = nil)
|
17
|
+
@target_dir ||= File.join(::Rails.root.to_s, 'public/apidoc/')
|
18
|
+
form_file_name @target_dir, f
|
19
|
+
end
|
20
|
+
|
21
|
+
def controller_dir(f = nil)
|
22
|
+
@controller_dir ||= File.join(::Rails.root.to_s, 'app/controllers/')
|
23
|
+
form_file_name @controller_dir, f
|
24
|
+
end
|
25
|
+
|
26
|
+
# WARNING! - temp_dir will return different location for different runs. Use with Caution!
|
27
|
+
def temp_dir(f = nil)
|
28
|
+
@temp_dir ||= "#{Dir.mktmpdir("apidoc")}/"
|
29
|
+
form_file_name @temp_dir, f
|
30
|
+
end
|
31
|
+
|
32
|
+
def form_file_name(dir, file)
|
33
|
+
case file
|
34
|
+
when NilClass then dir
|
35
|
+
when String then File.join(dir, file)
|
36
|
+
else raise ArgumentError, "Invalid argument #{file}"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require_relative 'method_doc'
|
3
|
+
|
4
|
+
module RapiDoc
|
5
|
+
# custom exception class
|
6
|
+
class ParsingException < Exception;
|
7
|
+
end
|
8
|
+
# ResourceDoc holds the information a resource contains. It parses the class header and also the
|
9
|
+
# method documentation, which will be contained in MethodDoc.
|
10
|
+
class ResourceDoc
|
11
|
+
|
12
|
+
attr_reader :name, :resource_location, :controller_name, :class_block, :function_blocks, :resource_header, :resource_methods
|
13
|
+
|
14
|
+
# Initializes ResourceDoc.
|
15
|
+
def initialize(name, resource_location, controller_location, options = {})
|
16
|
+
@name = name
|
17
|
+
@class_block = nil
|
18
|
+
@function_blocks = []
|
19
|
+
@resource_methods = []
|
20
|
+
@resource_header = ""
|
21
|
+
@standard_methods = options[:standard_methods] || [:put, :post, :get, :delete]
|
22
|
+
@resource_location = resource_location
|
23
|
+
@controller_location = controller_location
|
24
|
+
@controller_name = File.basename(controller_location)
|
25
|
+
end
|
26
|
+
|
27
|
+
# parse the controller
|
28
|
+
def parse_apidoc!(class_template, method_template)
|
29
|
+
lines = IO.readlines(@controller_location)
|
30
|
+
begin
|
31
|
+
@class_block, @function_blocks = ResourceDoc.parse_controller_doc(@name, lines)
|
32
|
+
rescue ParsingException => ex
|
33
|
+
puts "error #{ex} while parsing #{@controller_location}"
|
34
|
+
exit
|
35
|
+
else
|
36
|
+
@resource_header = Haml::Engine.new(class_template).render(@class_block) unless class_block.nil?
|
37
|
+
@resource_methods = @function_blocks.each_with_index.collect do |method_block, i|
|
38
|
+
Haml::Engine.new(method_template).render(method_block)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# This method parses the doc
|
44
|
+
def self.parse_controller_doc(name, lines)
|
45
|
+
current_api_block = nil
|
46
|
+
current_scope = :none
|
47
|
+
in_class = false
|
48
|
+
class_block = nil
|
49
|
+
function_blocks = []
|
50
|
+
order = 1
|
51
|
+
lines.each_with_index do |line, line_no|
|
52
|
+
line.gsub!(/^ *#/, '') # strip the starting '#' on the line
|
53
|
+
case line
|
54
|
+
when /=begin apidoc/
|
55
|
+
# if we get apidoc tag inside class definition, then they are for a method
|
56
|
+
current_scope = !in_class ? :class : :function
|
57
|
+
current_api_block = MethodDoc.new(name, current_scope, order)
|
58
|
+
when /=end/
|
59
|
+
if current_api_block.nil?
|
60
|
+
raise ParsingException, "#{line_no} - No starttag for '=end' found"
|
61
|
+
else
|
62
|
+
case current_scope
|
63
|
+
when :class
|
64
|
+
class_block = current_api_block
|
65
|
+
when :function
|
66
|
+
function_blocks << current_api_block
|
67
|
+
else
|
68
|
+
raise ParsingException, "logic error: unknown current scope #{current_scope}"
|
69
|
+
end
|
70
|
+
current_api_block = nil
|
71
|
+
current_scope = :none
|
72
|
+
order += 1
|
73
|
+
end
|
74
|
+
when /class/ # keep track of whether a resource or an api is being annotated
|
75
|
+
in_class = true
|
76
|
+
else
|
77
|
+
if current_api_block # process ines only if they are apidoc comments
|
78
|
+
current_scope = current_api_block.process_line(line, current_scope)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
[class_block, function_blocks]
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -1,41 +1,40 @@
|
|
1
|
-
include RapiDoc::
|
1
|
+
include RapiDoc::RAPIDoc
|
2
2
|
|
3
3
|
namespace :rapi_doc do
|
4
|
+
|
4
5
|
desc "Generate the config files"
|
5
6
|
task :setup do
|
6
|
-
|
7
|
-
|
8
|
-
else
|
9
|
-
FileUtils.mkdir(config_dir)
|
10
|
-
end
|
11
|
-
%w(config_file layout_file class_layout_file frameset_file main_file).each do |type_file|
|
12
|
-
target_file = send(type_file, :target)
|
13
|
-
template_file = send(type_file, :template)
|
14
|
-
if File.exist? target_file
|
15
|
-
puts "#{BASE_DIR}/#{File.basename(target_file)} exists"
|
16
|
-
else
|
17
|
-
FileUtils.cp template_file, config_dir
|
18
|
-
puts "Generated #{BASE_DIR}/#{File.basename(template_file)}" # TODO Add instructions for users to update the config file
|
19
|
-
end
|
20
|
-
end
|
7
|
+
create_structure!
|
8
|
+
#puts "Now specify controllers in config/rapi_doc/config.yml for which api documentation is to be generated and then run rapi_doc::generate"
|
21
9
|
end
|
22
|
-
|
10
|
+
|
11
|
+
desc "Generate the api documentation"
|
23
12
|
task :generate do
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
13
|
+
resources = get_resources! do |controller, controller_url, controller_location|
|
14
|
+
print "Generate documentation for resource \"#{controller}\" mapped at \"#{controller_url}\" (\"#{File.basename(controller_location)}\")? (Y/n):"
|
15
|
+
response = STDIN.gets.chomp
|
16
|
+
['y', 'Y'].include? response
|
28
17
|
end
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
yml.keys.each do |key|
|
34
|
-
resources << RapiDoc::ResourceDoc.new(key, yml[key]["location"], yml[key]["controller_name"])
|
35
|
-
end
|
36
|
-
|
18
|
+
if resources.empty?
|
19
|
+
puts "Nothing to generate"
|
20
|
+
#puts "Please specify controllers in config/rapi_doc/config.yml for which api documentation is to be generated and then run rapi_doc::generate again"
|
21
|
+
else
|
37
22
|
# generate the apidoc
|
38
|
-
|
23
|
+
puts "Generating API documentation..."
|
24
|
+
generate_templates!(resources)
|
25
|
+
move_structure!
|
26
|
+
puts "Finished."
|
39
27
|
end
|
40
28
|
end
|
29
|
+
|
30
|
+
desc "Clean up generated documentation"
|
31
|
+
task :clean do
|
32
|
+
remove_structure!
|
33
|
+
end
|
34
|
+
|
35
|
+
desc "Clean up everything - generated documentation and all the config"
|
36
|
+
task :distclean do
|
37
|
+
remove_all!
|
38
|
+
end
|
39
|
+
|
41
40
|
end
|
Binary file
|
@@ -0,0 +1,17 @@
|
|
1
|
+
.resource_header
|
2
|
+
%h2= @name
|
3
|
+
%p.resource_summary= @content
|
4
|
+
- if @xml || @json
|
5
|
+
%h3 Representations
|
6
|
+
- if @json
|
7
|
+
.json
|
8
|
+
%p
|
9
|
+
%strong JSON representation:
|
10
|
+
%p
|
11
|
+
%textarea= @json
|
12
|
+
- if @xml
|
13
|
+
.xml
|
14
|
+
%p
|
15
|
+
%strong XML representation:
|
16
|
+
%p
|
17
|
+
%textarea= @xml
|
@@ -0,0 +1,38 @@
|
|
1
|
+
.resource_methods
|
2
|
+
%a{:id => "#{@resource_name}_method_#{@method_order}"}
|
3
|
+
%p
|
4
|
+
%strong Description:
|
5
|
+
= @content
|
6
|
+
%h2= @url
|
7
|
+
- if @access
|
8
|
+
%strong Access:
|
9
|
+
= @access
|
10
|
+
%br/
|
11
|
+
- if @return
|
12
|
+
%strong Return:
|
13
|
+
= @return
|
14
|
+
%br/
|
15
|
+
- if @params
|
16
|
+
%strong Parameters:
|
17
|
+
%ul
|
18
|
+
- @params.each do |v|
|
19
|
+
%li= v
|
20
|
+
- unless @outputs.empty?
|
21
|
+
%ul.output_format
|
22
|
+
- @outputs.each do |output_format, output|
|
23
|
+
%li{:class => output_format}
|
24
|
+
%a{:href => "##{"#{@resource_name}_#{output_format}_#{@method_order}"}"}= output_format
|
25
|
+
.output
|
26
|
+
- @outputs.each do |output_format, output|
|
27
|
+
%div{:class => output_format}
|
28
|
+
%a{:id => "#{@resource_name}_#{output_format}_#{@method_order}"}
|
29
|
+
%pre.prettyprint= output
|
30
|
+
%br/
|
31
|
+
- unless @request.blank?
|
32
|
+
%strong Request:
|
33
|
+
%pre.code
|
34
|
+
%code= @request
|
35
|
+
- unless @response.blank?
|
36
|
+
%strong Response:
|
37
|
+
%pre.code
|
38
|
+
%code= @response
|
@@ -0,0 +1,40 @@
|
|
1
|
+
!!!
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%meta{:content => "text/html; charset=utf-8", "http-equiv" => "Content-Type"}/
|
5
|
+
%link{:href => "styles.css", :rel => "stylesheet", :type => "text/css"}/
|
6
|
+
%script{:src => "http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js", :type => "text/javascript"}
|
7
|
+
%script{:src => "scripts.js", :type => "text/javascript"}
|
8
|
+
%title apidoc
|
9
|
+
%body
|
10
|
+
#resource_index
|
11
|
+
%form{:onsubmit => "return false;"}
|
12
|
+
%input{:type => "text"}/
|
13
|
+
%img{:alt => "search", :src => "Search.png"}
|
14
|
+
%h2 Resources
|
15
|
+
%ul#resource_index
|
16
|
+
- resource_docs.each do |resource|
|
17
|
+
%li
|
18
|
+
%a{:href => "##{resource.name}"}= resource.name
|
19
|
+
- if resource.function_blocks.any?
|
20
|
+
%ul
|
21
|
+
- resource.function_blocks.each do |method_block|
|
22
|
+
%li
|
23
|
+
%a{:href => "##{resource.name}_method_#{method_block.method_order}"}
|
24
|
+
= "#{method_block.method} #{method_block.url}"
|
25
|
+
#resources
|
26
|
+
%ul
|
27
|
+
%li
|
28
|
+
%strong Show XML
|
29
|
+
%a{:href => "#", :onclick => "$('.xml').toggle();"} toggle
|
30
|
+
%li
|
31
|
+
%strong Show JSON
|
32
|
+
%a{:href => "#", :onclick => "$('.json').toggle();"} toggle
|
33
|
+
- resource_docs.each do |resource|
|
34
|
+
%a{:id => "#{resource.name}"}
|
35
|
+
.resource
|
36
|
+
- if resource.resource_header
|
37
|
+
= resource.resource_header
|
38
|
+
- if resource.resource_methods
|
39
|
+
- resource.resource_methods.each do |method|
|
40
|
+
= method
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
* created by: salilwadnerkar
|
3
|
+
* Date: 11/4/12
|
4
|
+
*/
|
5
|
+
$(function () {
|
6
|
+
$('#resource_index input').keyup(function(event) {
|
7
|
+
if ( event.keyCode == 13 ) {
|
8
|
+
event.preventDefault();
|
9
|
+
} else {
|
10
|
+
var search_txt = $(this).val();
|
11
|
+
var search_regex = new RegExp(search_txt, 'g');
|
12
|
+
$("#resource_index ul li").each ( function() {
|
13
|
+
var elem = $(this)
|
14
|
+
var h_elem = elem.find('a')[0];
|
15
|
+
var link_txt = h_elem.text;
|
16
|
+
var match = link_txt.match(search_regex);
|
17
|
+
match ? elem.show() : elem.hide();
|
18
|
+
});
|
19
|
+
}
|
20
|
+
});
|
21
|
+
});
|
22
|
+
|
@@ -0,0 +1,80 @@
|
|
1
|
+
html, body {
|
2
|
+
width: 100%;
|
3
|
+
height: 100%;
|
4
|
+
}
|
5
|
+
|
6
|
+
body {
|
7
|
+
line-height: 1.5em;
|
8
|
+
}
|
9
|
+
|
10
|
+
#resources {
|
11
|
+
float: right;
|
12
|
+
width: 80%;
|
13
|
+
}
|
14
|
+
|
15
|
+
#resource_index {
|
16
|
+
float: left;
|
17
|
+
height: 100%;
|
18
|
+
position: fixed;
|
19
|
+
width: 19%;
|
20
|
+
background-color: #ade;
|
21
|
+
}
|
22
|
+
|
23
|
+
#resource_index li {
|
24
|
+
background-color: #6699AA;
|
25
|
+
color:white;
|
26
|
+
padding: 5px 10px 0;
|
27
|
+
}
|
28
|
+
|
29
|
+
#resource_index li a {
|
30
|
+
display: block;
|
31
|
+
text-decoration: none;
|
32
|
+
font-weight: bold;
|
33
|
+
color:#ffffff;
|
34
|
+
}
|
35
|
+
|
36
|
+
#resource_index form img {
|
37
|
+
height: 25px;
|
38
|
+
width: 25px;
|
39
|
+
}
|
40
|
+
|
41
|
+
#resources h2 {
|
42
|
+
background-color: #6699AA;
|
43
|
+
color:white;
|
44
|
+
}
|
45
|
+
|
46
|
+
ul, ul li {
|
47
|
+
margin: 0;
|
48
|
+
padding: 0;
|
49
|
+
list-style: none outside;
|
50
|
+
}
|
51
|
+
|
52
|
+
h1, h2, h3 {
|
53
|
+
padding-top: 10px;
|
54
|
+
padding-bottom: 10px;
|
55
|
+
}
|
56
|
+
|
57
|
+
textarea {
|
58
|
+
width:100%;
|
59
|
+
height:200px;
|
60
|
+
display:none;
|
61
|
+
}
|
62
|
+
|
63
|
+
#method {
|
64
|
+
padding: 15px 30px;
|
65
|
+
border-top:1px solid #ddd;
|
66
|
+
}
|
67
|
+
|
68
|
+
#http_verb {
|
69
|
+
color:#ff6600;
|
70
|
+
width:200px;
|
71
|
+
margin-right:20px;'
|
72
|
+
}
|
73
|
+
|
74
|
+
.description{
|
75
|
+
font-size: 1.4em;
|
76
|
+
color:#262626;
|
77
|
+
}
|
78
|
+
.code {
|
79
|
+
font-family: monospace;
|
80
|
+
}
|
metadata
CHANGED
@@ -1,20 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rapi_doc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Husein Choroomi
|
9
9
|
- Adinda Praditya
|
10
|
+
- Salil Wadnerkar
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date: 2012-
|
14
|
+
date: 2012-05-22 00:00:00.000000000Z
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
17
|
name: activesupport
|
17
|
-
requirement: &
|
18
|
+
requirement: &70219113103900 !ruby/object:Gem::Requirement
|
18
19
|
none: false
|
19
20
|
requirements:
|
20
21
|
- - ! '>='
|
@@ -22,43 +23,65 @@ dependencies:
|
|
22
23
|
version: '2.1'
|
23
24
|
type: :runtime
|
24
25
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
+
version_requirements: *70219113103900
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: haml
|
29
|
+
requirement: &70219113100140 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ! '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: *70219113100140
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rdoc
|
40
|
+
requirement: &70219113098480 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
type: :runtime
|
47
|
+
prerelease: false
|
48
|
+
version_requirements: *70219113098480
|
26
49
|
- !ruby/object:Gem::Dependency
|
27
50
|
name: rspec
|
28
|
-
requirement: &
|
51
|
+
requirement: &70219113096980 !ruby/object:Gem::Requirement
|
29
52
|
none: false
|
30
53
|
requirements:
|
31
|
-
- -
|
54
|
+
- - ! '>='
|
32
55
|
- !ruby/object:Gem::Version
|
33
56
|
version: 2.7.0
|
34
57
|
type: :development
|
35
58
|
prerelease: false
|
36
|
-
version_requirements: *
|
59
|
+
version_requirements: *70219113096980
|
37
60
|
- !ruby/object:Gem::Dependency
|
38
61
|
name: bundler
|
39
|
-
requirement: &
|
62
|
+
requirement: &70219113095540 !ruby/object:Gem::Requirement
|
40
63
|
none: false
|
41
64
|
requirements:
|
42
|
-
- -
|
65
|
+
- - ! '>='
|
43
66
|
- !ruby/object:Gem::Version
|
44
67
|
version: 1.0.0
|
45
68
|
type: :development
|
46
69
|
prerelease: false
|
47
|
-
version_requirements: *
|
70
|
+
version_requirements: *70219113095540
|
48
71
|
- !ruby/object:Gem::Dependency
|
49
72
|
name: jeweler
|
50
|
-
requirement: &
|
73
|
+
requirement: &70219113094520 !ruby/object:Gem::Requirement
|
51
74
|
none: false
|
52
75
|
requirements:
|
53
|
-
- -
|
76
|
+
- - ! '>='
|
54
77
|
- !ruby/object:Gem::Version
|
55
78
|
version: 1.6.4
|
56
79
|
type: :development
|
57
80
|
prerelease: false
|
58
|
-
version_requirements: *
|
81
|
+
version_requirements: *70219113094520
|
59
82
|
- !ruby/object:Gem::Dependency
|
60
83
|
name: rcov
|
61
|
-
requirement: &
|
84
|
+
requirement: &70219113092920 !ruby/object:Gem::Requirement
|
62
85
|
none: false
|
63
86
|
requirements:
|
64
87
|
- - ! '>='
|
@@ -66,8 +89,31 @@ dependencies:
|
|
66
89
|
version: '0'
|
67
90
|
type: :development
|
68
91
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
-
|
92
|
+
version_requirements: *70219113092920
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: haml
|
95
|
+
requirement: &70219113085900 !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
97
|
+
requirements:
|
98
|
+
- - ! '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
type: :runtime
|
102
|
+
prerelease: false
|
103
|
+
version_requirements: *70219113085900
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: rdoc
|
106
|
+
requirement: &70219113085080 !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ! '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
type: :runtime
|
113
|
+
prerelease: false
|
114
|
+
version_requirements: *70219113085080
|
115
|
+
description: Rails API Doc Generator. Parses the apidoc annotations to generate HTML
|
116
|
+
pages.
|
71
117
|
email: hchoroomi@gmail.com
|
72
118
|
executables: []
|
73
119
|
extensions: []
|
@@ -75,6 +121,7 @@ extra_rdoc_files:
|
|
75
121
|
- LICENSE.txt
|
76
122
|
- README.md
|
77
123
|
files:
|
124
|
+
- .project
|
78
125
|
- .rvmrc
|
79
126
|
- Gemfile
|
80
127
|
- Gemfile.lock
|
@@ -82,26 +129,25 @@ files:
|
|
82
129
|
- README.md
|
83
130
|
- Rakefile
|
84
131
|
- VERSION
|
132
|
+
- autoscan.log
|
133
|
+
- configure.scan
|
85
134
|
- init.rb
|
86
135
|
- install.rb
|
87
|
-
- lib/doc_parser.rb
|
88
|
-
- lib/doc_util.rb
|
89
|
-
- lib/method_doc.rb
|
90
|
-
- lib/rapi_config.rb
|
91
136
|
- lib/rapi_doc.rb
|
137
|
+
- lib/rapi_doc/method_doc.rb
|
92
138
|
- lib/rapi_doc/railtie.rb
|
139
|
+
- lib/rapi_doc/rapi_config.rb
|
140
|
+
- lib/rapi_doc/resource_doc.rb
|
93
141
|
- lib/rapi_doc/tasks/rapi_doc_tasks.rake
|
94
|
-
- lib/resource_doc.rb
|
95
142
|
- spec/doc_parser_spec.rb
|
96
143
|
- spec/method_doc_spec.rb
|
97
144
|
- spec/spec_helper.rb
|
98
|
-
- templates/
|
99
|
-
- templates/
|
100
|
-
- templates/
|
101
|
-
- templates/
|
102
|
-
- templates/
|
103
|
-
- templates/
|
104
|
-
- templates/main.html.erb
|
145
|
+
- templates/Search.png
|
146
|
+
- templates/_resource_header.html.haml
|
147
|
+
- templates/_resource_method.html.haml
|
148
|
+
- templates/index.html.haml
|
149
|
+
- templates/scripts.js
|
150
|
+
- templates/styles.css
|
105
151
|
- uninstall.rb
|
106
152
|
homepage: http://github.com/elc/rapi_doc
|
107
153
|
licenses:
|
@@ -118,7 +164,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
118
164
|
version: '0'
|
119
165
|
segments:
|
120
166
|
- 0
|
121
|
-
hash:
|
167
|
+
hash: 3223693436194821202
|
122
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
169
|
none: false
|
124
170
|
requirements:
|