api_tommy 0.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 +7 -0
- data/.gitignore +16 -0
- data/.rubocop.yml +603 -0
- data/.ruby-version +1 -0
- data/.travis.yml +7 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +70 -0
- data/LICENSE.txt +22 -0
- data/README.md +193 -0
- data/Rakefile +7 -0
- data/api_tommy.gemspec +31 -0
- data/lib/api_tommy.rb +11 -0
- data/lib/api_tommy/error.rb +3 -0
- data/lib/api_tommy/generator.rb +131 -0
- data/lib/api_tommy/github.rb +39 -0
- data/lib/api_tommy/markdown.rb +41 -0
- data/lib/api_tommy/version.rb +3 -0
- data/lib/rdoc/discover.rb +3 -0
- data/lib/rdoc/generator/api_tommy.rb +25 -0
- data/test/fixtures/footer.md +1 -0
- data/test/fixtures/header.md +1 -0
- data/test/fixtures/samples_controller.rb +47 -0
- data/test/lib/api_tommy/github_test.rb +49 -0
- data/test/lib/api_tommy/markdown_test.rb +32 -0
- data/test/lib/rdoc/generator/api_tommy_test.rb +95 -0
- data/test/test_helper.rb +16 -0
- metadata +203 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
require "grit"
|
2
|
+
require "tmpdir"
|
3
|
+
|
4
|
+
module ApiTommy
|
5
|
+
class Github
|
6
|
+
def update_wiki(file, content)
|
7
|
+
Dir.mktmpdir("api_tommy") do |dir|
|
8
|
+
clone_wiki(dir)
|
9
|
+
update_file(dir, file, content)
|
10
|
+
push(dir, file)
|
11
|
+
end
|
12
|
+
rescue => e
|
13
|
+
raise Error, "Can't update wiki (#{e.message})"
|
14
|
+
end
|
15
|
+
|
16
|
+
def wiki_url
|
17
|
+
return @wiki_url if defined?(@wiki_url)
|
18
|
+
origin = Grit::Repo.new(Dir.pwd).config["remote.origin.url"]
|
19
|
+
@wiki_url = origin.gsub(".git", ".wiki.git") if origin
|
20
|
+
@wiki_url
|
21
|
+
end
|
22
|
+
|
23
|
+
def clone_wiki(dir)
|
24
|
+
git = Grit::Git.new("/tmp/filling-in")
|
25
|
+
git.clone({}, wiki_url, dir)
|
26
|
+
end
|
27
|
+
|
28
|
+
def update_file(dir, file, content)
|
29
|
+
File.open(File.join(dir, file), "w") { |f| f.write(content) }
|
30
|
+
end
|
31
|
+
|
32
|
+
def push(dir, file)
|
33
|
+
repo = Grit::Repo.new(dir)
|
34
|
+
Dir.chdir(dir) { repo.add(file) }
|
35
|
+
repo.commit_index("Update #{file}")
|
36
|
+
repo.git.push({}, "origin", "master")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module ApiTommy
|
2
|
+
class Markdown
|
3
|
+
1.upto(6).each do |level|
|
4
|
+
self.class.send(:define_method, "h#{level}") { |text| title(text, level) }
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.title(text, level)
|
8
|
+
"\n#{"#" * level} #{text}\n"
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.p(text)
|
12
|
+
"\n#{text.gsub(/[\n]+/, " ")}\n"
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.code(text, language = nil)
|
16
|
+
result = "\n```"
|
17
|
+
result << language unless language.nil?
|
18
|
+
result << "\n#{text}\n```\n"
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.ul(text)
|
22
|
+
"* #{text}\n"
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.th(*headers)
|
26
|
+
"\n".tap do |result|
|
27
|
+
headers.each { |header| result << "| #{header} " }
|
28
|
+
result << "\n"
|
29
|
+
headers.size.times.each { result << "| --- " }
|
30
|
+
result << "\n"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.tr(*values)
|
35
|
+
"".tap do |result|
|
36
|
+
values.each { |value| result << "| #{value} " }
|
37
|
+
result << "\n"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module RDoc
|
2
|
+
module Generator
|
3
|
+
class ApiTommy < ApiTommy::Generator
|
4
|
+
RDoc.add_generator(self)
|
5
|
+
|
6
|
+
def initialize(store, options)
|
7
|
+
@store = store
|
8
|
+
@options = options
|
9
|
+
@content = ""
|
10
|
+
@h = ::ApiTommy::Markdown
|
11
|
+
end
|
12
|
+
|
13
|
+
def generate
|
14
|
+
log("Parsing and Generating doc...")
|
15
|
+
@store.all_classes.each do |clazz|
|
16
|
+
generate_class_doc(clazz)
|
17
|
+
end
|
18
|
+
log("Done.")
|
19
|
+
|
20
|
+
finalize_content
|
21
|
+
update_wiki
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# This is the footer
|
@@ -0,0 +1 @@
|
|
1
|
+
# This is the header
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# This API deals with user operations.
|
2
|
+
#
|
3
|
+
# id - the id
|
4
|
+
# username - the username
|
5
|
+
# api_key - the api key
|
6
|
+
# email - the email
|
7
|
+
# first_name - the first name
|
8
|
+
# last_name - the last name
|
9
|
+
# role - the role
|
10
|
+
# role_promotion - the role from a promotion point of view
|
11
|
+
# activated - true or false indicating if the user is enabled
|
12
|
+
# shop_ids - an array of all shop ids
|
13
|
+
#
|
14
|
+
# Examples
|
15
|
+
#
|
16
|
+
# {
|
17
|
+
# "id": "67bc91bf-d28d-5a24-ac73-296dfdbcdc6a",
|
18
|
+
# "username": "sysadmin",
|
19
|
+
# "api_key": null,
|
20
|
+
# "email": "sys@admin.net",
|
21
|
+
# "first_name": "sys",
|
22
|
+
# "last_name": "admin",
|
23
|
+
# "role": "sysadmin",
|
24
|
+
# "role_promotion": "admin",
|
25
|
+
# "activated": true,
|
26
|
+
# "shop_ids": [
|
27
|
+
# "7bf37141-20ed-537c-8aed-d1b1f1a23adc"
|
28
|
+
# ]
|
29
|
+
# }
|
30
|
+
#
|
31
|
+
class SamplesController < ApplicationController
|
32
|
+
# Get all users. Must be an authenticated sysadmin.
|
33
|
+
# Only returns JSON responses. Pagination options are available.
|
34
|
+
#
|
35
|
+
# api_key - The api key
|
36
|
+
#
|
37
|
+
# Examples
|
38
|
+
# GET /api/v2/users
|
39
|
+
#
|
40
|
+
# Returns an array of all users (field '''users''' in the JSON repsonse).
|
41
|
+
# Raises 401 if the current user is not authenticated.
|
42
|
+
# Raises 403 if the current user is not sysadmin.
|
43
|
+
# Raises 500 if an error occurs.
|
44
|
+
def index
|
45
|
+
puts "foobar"
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "tmpdir"
|
3
|
+
|
4
|
+
module ApiTommy
|
5
|
+
class GithubTest < ActiveSupport::TestCase
|
6
|
+
def setup
|
7
|
+
@g = Github.new
|
8
|
+
end
|
9
|
+
|
10
|
+
test "can extract wiki url" do
|
11
|
+
Grit::Repo.any_instance.expects(:config).returns(
|
12
|
+
"remote.origin.url" => "foobar.git"
|
13
|
+
)
|
14
|
+
assert_equal "foobar.wiki.git", @g.wiki_url
|
15
|
+
end
|
16
|
+
|
17
|
+
test "can clone a github wiki" do
|
18
|
+
Grit::Repo.any_instance.stubs(:config).returns(
|
19
|
+
"remote.origin.url" => "https://github.com/rails-api/rails-api.git"
|
20
|
+
)
|
21
|
+
Dir.mktmpdir("api_tommy") do |dir|
|
22
|
+
Grit::Git.any_instance.expects(:clone).with(
|
23
|
+
{},
|
24
|
+
"https://github.com/rails-api/rails-api.wiki.git",
|
25
|
+
dir
|
26
|
+
)
|
27
|
+
@g.clone_wiki(dir)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
test "can update a file" do
|
32
|
+
filename = "foobar.txt"
|
33
|
+
Dir.mktmpdir("api_tommy") do |dir|
|
34
|
+
Dir.chdir(dir) { File.open(filename, "w") { |f| f.write("foo") } }
|
35
|
+
@g.update_file(dir, filename, "bar")
|
36
|
+
Dir.chdir(dir) { assert_equal "bar", File.read(filename) }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
test "can push file" do
|
41
|
+
filename = "foobar.txt"
|
42
|
+
Dir.mktmpdir(["api_tommy", ".git"]) do |dir|
|
43
|
+
@g.update_file(dir, filename, "foo")
|
44
|
+
Grit::Git.any_instance.stubs(:push).with({}, "origin", "master")
|
45
|
+
@g.push(dir, filename)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module ApiTommy
|
4
|
+
class MarkdownTest < ActiveSupport::TestCase
|
5
|
+
def setup
|
6
|
+
@h = ApiTommy::Markdown
|
7
|
+
end
|
8
|
+
|
9
|
+
1.upto(6).each do |level|
|
10
|
+
test "can generate an h#{level} title" do
|
11
|
+
assert_equal "\n#{"#" * level} foobar\n", @h.send("h#{level}", "foobar")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
test "can generate a paragraph" do
|
16
|
+
assert_equal "\nfoobar!\n", @h.p("foobar!")
|
17
|
+
end
|
18
|
+
|
19
|
+
test "can generate an unordered list item" do
|
20
|
+
assert_equal "* foobar\n", @h.ul("foobar")
|
21
|
+
end
|
22
|
+
|
23
|
+
test "can generate table headers" do
|
24
|
+
expected = "\n| foo | bar | foobar \n| --- | --- | --- \n"
|
25
|
+
assert_equal expected, @h.th("foo", "bar", "foobar")
|
26
|
+
end
|
27
|
+
|
28
|
+
test "can generate table values" do
|
29
|
+
assert_equal "| foo | bar | foobar \n", @h.tr("foo", "bar", "foobar")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "ostruct"
|
3
|
+
require "optparse"
|
4
|
+
|
5
|
+
module RDoc
|
6
|
+
module Generator
|
7
|
+
class ApiTommyTest < ActiveSupport::TestCase
|
8
|
+
test "rdoc should have registered the generator" do
|
9
|
+
assert_equal ApiTommy, RDoc::GENERATORS["apitommy"]
|
10
|
+
end
|
11
|
+
|
12
|
+
test "should set corret setup options" do
|
13
|
+
options = OpenStruct.new(
|
14
|
+
:dry_run => false,
|
15
|
+
:option_parser => OptionParser.new
|
16
|
+
)
|
17
|
+
ApiTommy.setup_options options
|
18
|
+
assert options.dry_run
|
19
|
+
end
|
20
|
+
|
21
|
+
test "accepts a filename option" do
|
22
|
+
options = Options.new
|
23
|
+
options.option_parser = OptionParser.new
|
24
|
+
ApiTommy.setup_options options
|
25
|
+
options.option_parser.parse(%w(--filename foobar.md))
|
26
|
+
assert_equal "foobar.md", options.filename
|
27
|
+
end
|
28
|
+
|
29
|
+
test "accepts a filename option with space" do
|
30
|
+
options = Options.new
|
31
|
+
options.option_parser = OptionParser.new
|
32
|
+
ApiTommy.setup_options options
|
33
|
+
options.option_parser.parse(["--filename", "foo bar.md"])
|
34
|
+
assert_equal "foo-bar.md", options.filename
|
35
|
+
end
|
36
|
+
|
37
|
+
test "accepts a filename option without md extension" do
|
38
|
+
options = Options.new
|
39
|
+
options.option_parser = OptionParser.new
|
40
|
+
ApiTommy.setup_options options
|
41
|
+
options.option_parser.parse(["--filename", "foobar"])
|
42
|
+
assert_equal "foobar.md", options.filename
|
43
|
+
end
|
44
|
+
|
45
|
+
test "accepts a header option" do
|
46
|
+
options = Options.new
|
47
|
+
options.option_parser = OptionParser.new
|
48
|
+
ApiTommy.setup_options options
|
49
|
+
options.option_parser.parse(["--header", "foobar.md"])
|
50
|
+
assert_equal "foobar.md", options.header
|
51
|
+
end
|
52
|
+
|
53
|
+
test "accepts a footer option" do
|
54
|
+
options = Options.new
|
55
|
+
options.option_parser = OptionParser.new
|
56
|
+
ApiTommy.setup_options options
|
57
|
+
options.option_parser.parse(["--footer", "foobar.md"])
|
58
|
+
assert_equal "foobar.md", options.footer
|
59
|
+
end
|
60
|
+
|
61
|
+
test "should correctly generate" do
|
62
|
+
rdoc = RDoc.new
|
63
|
+
options = rdoc.load_options
|
64
|
+
options.parse(%w(--format apitommy test/fixtures/samples_controller.rb))
|
65
|
+
ApiTommy.setup_options(options)
|
66
|
+
options.verbosity = 0
|
67
|
+
::ApiTommy::Github.any_instance.stubs(:update_wiki)
|
68
|
+
rdoc.document(options)
|
69
|
+
assert rdoc.generator.content.include?("This API deals with user operations.")
|
70
|
+
assert rdoc.generator.content.include?("Get all users.")
|
71
|
+
end
|
72
|
+
|
73
|
+
test "should correctly generate with header and footer" do
|
74
|
+
rdoc = RDoc.new
|
75
|
+
options = rdoc.load_options
|
76
|
+
options.parse(%w(
|
77
|
+
--format apitommy
|
78
|
+
--header test/fixtures/header.md
|
79
|
+
--footer test/fixtures/footer.md
|
80
|
+
test/fixtures/samples_controller.rb
|
81
|
+
))
|
82
|
+
ApiTommy.setup_options(options)
|
83
|
+
options.verbosity = 0
|
84
|
+
::ApiTommy::Github.any_instance.stubs(:update_wiki)
|
85
|
+
rdoc.document(options)
|
86
|
+
assert rdoc.generator.content.include?("This is the header")
|
87
|
+
assert rdoc.generator.content.include?("This is the footer")
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
class ApiTommy
|
92
|
+
attr_accessor :options, :content
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require "simplecov"
|
2
|
+
SimpleCov.start
|
3
|
+
|
4
|
+
require "active_support"
|
5
|
+
require "minitest/autorun"
|
6
|
+
require "mocha/setup"
|
7
|
+
require "pry"
|
8
|
+
|
9
|
+
require "minitest/reporters"
|
10
|
+
Minitest::Reporters.use!(Minitest::Reporters::DefaultReporter.new)
|
11
|
+
|
12
|
+
ActiveSupport::TestCase.test_order = :random
|
13
|
+
|
14
|
+
require "api_tommy"
|
15
|
+
|
16
|
+
system('mkdir', '-p', 'doc')
|
metadata
ADDED
@@ -0,0 +1,203 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: api_tommy
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David Fernandez
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-01-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rdoc
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: tomparse
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.4'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.4'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: grit
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.5'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.5'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: activesupport
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '4.2'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '4.2'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: mocha
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.14'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.14'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.10'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.10'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: minitest-reporters
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.8'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.8'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rake
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '10.4'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '10.4'
|
139
|
+
description: This generator takes one or several classes with comments formatted in
|
140
|
+
TomDoc and spits out a single Markdown file
|
141
|
+
email:
|
142
|
+
- david.fernandez@gatemedia.ch
|
143
|
+
executables: []
|
144
|
+
extensions: []
|
145
|
+
extra_rdoc_files: []
|
146
|
+
files:
|
147
|
+
- ".gitignore"
|
148
|
+
- ".rubocop.yml"
|
149
|
+
- ".ruby-version"
|
150
|
+
- ".travis.yml"
|
151
|
+
- Gemfile
|
152
|
+
- Gemfile.lock
|
153
|
+
- LICENSE.txt
|
154
|
+
- README.md
|
155
|
+
- Rakefile
|
156
|
+
- api_tommy.gemspec
|
157
|
+
- lib/api_tommy.rb
|
158
|
+
- lib/api_tommy/error.rb
|
159
|
+
- lib/api_tommy/generator.rb
|
160
|
+
- lib/api_tommy/github.rb
|
161
|
+
- lib/api_tommy/markdown.rb
|
162
|
+
- lib/api_tommy/version.rb
|
163
|
+
- lib/rdoc/discover.rb
|
164
|
+
- lib/rdoc/generator/api_tommy.rb
|
165
|
+
- test/fixtures/footer.md
|
166
|
+
- test/fixtures/header.md
|
167
|
+
- test/fixtures/samples_controller.rb
|
168
|
+
- test/lib/api_tommy/github_test.rb
|
169
|
+
- test/lib/api_tommy/markdown_test.rb
|
170
|
+
- test/lib/rdoc/generator/api_tommy_test.rb
|
171
|
+
- test/test_helper.rb
|
172
|
+
homepage: https://github.com/gatemedia/api-tommy
|
173
|
+
licenses:
|
174
|
+
- MIT
|
175
|
+
metadata: {}
|
176
|
+
post_install_message:
|
177
|
+
rdoc_options: []
|
178
|
+
require_paths:
|
179
|
+
- lib
|
180
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
181
|
+
requirements:
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '0'
|
185
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - ">="
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
requirements: []
|
191
|
+
rubyforge_project:
|
192
|
+
rubygems_version: 2.4.5
|
193
|
+
signing_key:
|
194
|
+
specification_version: 4
|
195
|
+
summary: An API documentation generator based on RDoc and TomDoc
|
196
|
+
test_files:
|
197
|
+
- test/fixtures/footer.md
|
198
|
+
- test/fixtures/header.md
|
199
|
+
- test/fixtures/samples_controller.rb
|
200
|
+
- test/lib/api_tommy/github_test.rb
|
201
|
+
- test/lib/api_tommy/markdown_test.rb
|
202
|
+
- test/lib/rdoc/generator/api_tommy_test.rb
|
203
|
+
- test/test_helper.rb
|