tomdoc 0.1.0 → 0.2.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/README.md +12 -2
- data/bin/tomdoc +1 -0
- data/lib/tomdoc/generators/html.rb +3 -2
- data/lib/tomdoc/source_parser.rb +6 -0
- data/lib/tomdoc/tomdoc.rb +2 -0
- data/lib/tomdoc/version.rb +1 -1
- data/test/helper.rb +1 -1
- metadata +50 -24
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
TomDoc
|
2
2
|
======
|
3
3
|
|
4
|
-
TomDoc is documentation for humans. Using a few simple rules and zero
|
5
|
-
special syntax you can produce great looking documentation for both humans
|
4
|
+
TomDoc is documentation for humans. Using a few simple rules and zero
|
5
|
+
special syntax you can produce great looking documentation for both humans
|
6
6
|
and machines.
|
7
7
|
|
8
8
|
Just follow these four easy steps:
|
@@ -100,5 +100,15 @@ or
|
|
100
100
|
|
101
101
|

|
102
102
|
|
103
|
+
Local Dev
|
104
|
+
---------
|
105
|
+
|
106
|
+
Want to hack on tomdoc.rb? Of course you do.
|
107
|
+
|
108
|
+
git clone http://github.com/defunkt/tomdoc.git
|
109
|
+
cd tomdoc
|
110
|
+
bundle install --local
|
111
|
+
ruby -rubygems ./bin/tomdoc lib/tomdoc/source_parser.rb
|
112
|
+
|
103
113
|
[man]: https://github.com/defunkt/tomdoc/blob/tomdoc.rb/man/tomdoc.5.ronn
|
104
114
|
[spec]: https://github.com/defunkt/tomdoc/blob/tomdoc.rb/tomdoc.md
|
data/bin/tomdoc
CHANGED
@@ -6,6 +6,7 @@ module TomDoc
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def write_scope_header(scope, prefix)
|
9
|
+
#write "<h1>#{scope.name}</h1>"
|
9
10
|
end
|
10
11
|
|
11
12
|
def write_scope_footer(scope, prefix)
|
@@ -13,13 +14,13 @@ module TomDoc
|
|
13
14
|
|
14
15
|
def write_class_methods(scope, prefix)
|
15
16
|
out = '<ul>'
|
16
|
-
out << super.
|
17
|
+
out << super.join
|
17
18
|
write out
|
18
19
|
end
|
19
20
|
|
20
21
|
def write_instance_methods(scope, prefix)
|
21
22
|
out = ''
|
22
|
-
out << super.
|
23
|
+
out << super.join
|
23
24
|
out << '</ul>'
|
24
25
|
write out
|
25
26
|
end
|
data/lib/tomdoc/source_parser.rb
CHANGED
@@ -86,9 +86,15 @@ module TomDoc
|
|
86
86
|
process(ast[3], new_scope)
|
87
87
|
when :imethod
|
88
88
|
ast.shift
|
89
|
+
if !scope
|
90
|
+
scope = (@scopes[:main] ||= Scope.new(:main))
|
91
|
+
end
|
89
92
|
scope.instance_methods << Method.new(*ast)
|
90
93
|
when :cmethod
|
91
94
|
ast.shift
|
95
|
+
if !scope
|
96
|
+
scope = (@scopes[:main] ||= Scope.new(:main))
|
97
|
+
end
|
92
98
|
scope.class_methods << Method.new(*ast)
|
93
99
|
when Array
|
94
100
|
ast.map { |a| process(a, scope) }
|
data/lib/tomdoc/tomdoc.rb
CHANGED
data/lib/tomdoc/version.rb
CHANGED
data/test/helper.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tomdoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
+
- 2
|
8
9
|
- 0
|
9
|
-
version: 0.
|
10
|
+
version: 0.2.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
13
|
+
- Tom Preston-Werner
|
12
14
|
- Chris Wanstrath
|
13
15
|
autorequire:
|
14
16
|
bindir: bin
|
15
17
|
cert_chain: []
|
16
18
|
|
17
|
-
date:
|
18
|
-
default_executable:
|
19
|
+
date: 2011-05-22 00:00:00 Z
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: sexp_processor
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
|
-
- - "
|
27
|
+
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 15
|
27
30
|
segments:
|
28
31
|
- 3
|
29
32
|
- 0
|
@@ -35,9 +38,11 @@ dependencies:
|
|
35
38
|
name: ParseTree
|
36
39
|
prerelease: false
|
37
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
|
-
- - "
|
43
|
+
- - ">="
|
40
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 13
|
41
46
|
segments:
|
42
47
|
- 3
|
43
48
|
- 0
|
@@ -49,9 +54,11 @@ dependencies:
|
|
49
54
|
name: RubyInline
|
50
55
|
prerelease: false
|
51
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
52
58
|
requirements:
|
53
|
-
- - "
|
59
|
+
- - ">="
|
54
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 27
|
55
62
|
segments:
|
56
63
|
- 3
|
57
64
|
- 7
|
@@ -63,9 +70,11 @@ dependencies:
|
|
63
70
|
name: ruby_parser
|
64
71
|
prerelease: false
|
65
72
|
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
66
74
|
requirements:
|
67
|
-
- - "
|
75
|
+
- - ">="
|
68
76
|
- !ruby/object:Gem::Version
|
77
|
+
hash: 7
|
69
78
|
segments:
|
70
79
|
- 2
|
71
80
|
- 0
|
@@ -73,6 +82,20 @@ dependencies:
|
|
73
82
|
version: 2.0.4
|
74
83
|
type: :runtime
|
75
84
|
version_requirements: *id004
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: colored
|
87
|
+
prerelease: false
|
88
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
hash: 3
|
94
|
+
segments:
|
95
|
+
- 0
|
96
|
+
version: "0"
|
97
|
+
type: :runtime
|
98
|
+
version_requirements: *id005
|
76
99
|
description: " TomDoc is flexible code documentation with human readers in\n mind. The tomdoc gem is a Ruby library to discover and display\n TomDoc'd methods and classes.\n\n Given a Ruby file with TomDoc'd methods, tomdoc can generate HTML or\n print to the console. You can use it to query up a single method or\n a group of methods, and it's usable from irb.\n\n If you're using TomDoc, tomdoc is for you.\n"
|
77
100
|
email: chris@ozmm.org
|
78
101
|
executables:
|
@@ -85,31 +108,30 @@ files:
|
|
85
108
|
- README.md
|
86
109
|
- Rakefile
|
87
110
|
- LICENSE
|
88
|
-
- lib/tomdoc
|
89
|
-
- lib/tomdoc/cli.rb
|
90
|
-
- lib/tomdoc/generator.rb
|
111
|
+
- lib/tomdoc.rb
|
91
112
|
- lib/tomdoc/generators/console.rb
|
92
113
|
- lib/tomdoc/generators/html.rb
|
93
|
-
- lib/tomdoc/
|
94
|
-
- lib/tomdoc/scope.rb
|
114
|
+
- lib/tomdoc/cli.rb
|
95
115
|
- lib/tomdoc/source_parser.rb
|
96
|
-
- lib/tomdoc/tomdoc.rb
|
97
116
|
- lib/tomdoc/version.rb
|
98
|
-
- lib/tomdoc.rb
|
117
|
+
- lib/tomdoc/tomdoc.rb
|
118
|
+
- lib/tomdoc/generator.rb
|
119
|
+
- lib/tomdoc/scope.rb
|
120
|
+
- lib/tomdoc/arg.rb
|
121
|
+
- lib/tomdoc/method.rb
|
99
122
|
- bin/tomdoc
|
100
123
|
- man/tomdoc.5
|
101
124
|
- man/tomdoc.5.html
|
102
125
|
- man/tomdoc.5.ronn
|
103
|
-
- test/console_generator_test.rb
|
104
|
-
- test/fixtures/chimney.rb
|
105
|
-
- test/fixtures/multiplex.rb
|
106
|
-
- test/fixtures/simple.rb
|
107
|
-
- test/generator_test.rb
|
108
|
-
- test/helper.rb
|
109
126
|
- test/html_generator_test.rb
|
110
127
|
- test/source_parser_test.rb
|
111
128
|
- test/tomdoc_parser_test.rb
|
112
|
-
|
129
|
+
- test/helper.rb
|
130
|
+
- test/console_generator_test.rb
|
131
|
+
- test/generator_test.rb
|
132
|
+
- test/fixtures/multiplex.rb
|
133
|
+
- test/fixtures/chimney.rb
|
134
|
+
- test/fixtures/simple.rb
|
113
135
|
homepage: http://github.com/defunkt/tomdoc
|
114
136
|
licenses: []
|
115
137
|
|
@@ -119,23 +141,27 @@ rdoc_options: []
|
|
119
141
|
require_paths:
|
120
142
|
- lib
|
121
143
|
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
none: false
|
122
145
|
requirements:
|
123
146
|
- - ">="
|
124
147
|
- !ruby/object:Gem::Version
|
148
|
+
hash: 3
|
125
149
|
segments:
|
126
150
|
- 0
|
127
151
|
version: "0"
|
128
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
129
154
|
requirements:
|
130
155
|
- - ">="
|
131
156
|
- !ruby/object:Gem::Version
|
157
|
+
hash: 3
|
132
158
|
segments:
|
133
159
|
- 0
|
134
160
|
version: "0"
|
135
161
|
requirements: []
|
136
162
|
|
137
163
|
rubyforge_project:
|
138
|
-
rubygems_version: 1.
|
164
|
+
rubygems_version: 1.8.2
|
139
165
|
signing_key:
|
140
166
|
specification_version: 3
|
141
167
|
summary: A TomDoc library for Ruby.
|