yard-tomdoc 0.6.0 → 0.7.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/.index +8 -4
- data/HISTORY.md +12 -0
- data/README.md +19 -12
- data/lib/yard-tomdoc.rb +24 -19
- data/lib/yard-tomdoc.yml +8 -4
- data/test/helper.rb +10 -0
- metadata +7 -7
data/.index
CHANGED
@@ -10,13 +10,17 @@ authors:
|
|
10
10
|
organizations: []
|
11
11
|
requirements:
|
12
12
|
- name: yard
|
13
|
-
- version: 0.
|
13
|
+
- version: 0.4.0+
|
14
14
|
name: tomparse
|
15
|
-
- name: rc
|
16
15
|
- groups:
|
17
16
|
- build
|
18
17
|
development: true
|
19
18
|
name: detroit
|
19
|
+
- groups:
|
20
|
+
- build
|
21
|
+
- test
|
22
|
+
development: true
|
23
|
+
name: dotopts
|
20
24
|
- groups:
|
21
25
|
- test
|
22
26
|
development: true
|
@@ -53,10 +57,10 @@ customs: []
|
|
53
57
|
paths:
|
54
58
|
lib:
|
55
59
|
- lib
|
56
|
-
version: 0.
|
60
|
+
version: 0.7.0
|
57
61
|
name: yard-tomdoc
|
58
62
|
title: YARD TomDoc
|
59
63
|
summary: TomDoc for YARD
|
60
64
|
description: Use TomDoc documentation format with YARD.
|
61
65
|
webcvs: https://github.com/rubyworks/yard-tomdoc/tree/master
|
62
|
-
date: '2013-
|
66
|
+
date: '2013-02-11'
|
data/HISTORY.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# RELEASE HISTORY
|
2
2
|
|
3
|
+
## 0.7.0 / 2013-02-12
|
4
|
+
|
5
|
+
New major release uses the new major release of TomParse.
|
6
|
+
So there you go. Oh, it improves class parsing for `Return`
|
7
|
+
sections too. That's all.
|
8
|
+
|
9
|
+
Changes:
|
10
|
+
|
11
|
+
* Upgrade TomParse requirement to 0.4.0+.
|
12
|
+
* Imporove class parsing for return tags.
|
13
|
+
|
14
|
+
|
3
15
|
## 0.6.0 / 2013-01-22
|
4
16
|
|
5
17
|
This new major release adds support for most YARD tags thanks to TomParse's
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# YARD
|
1
|
+
# YARD TomDoc
|
2
2
|
|
3
3
|
[Website](http://rubyworks.github.com/yard-tomdoc) /
|
4
4
|
[Development](http://github.com/rubyworks/yard-tomdoc) /
|
@@ -23,13 +23,12 @@ Since `yard-tomdoc` is a standard YARD plugin, utilize it with yard's
|
|
23
23
|
|
24
24
|
## Documentation
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
* Shomen -
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
* YARD - [RubyDoc.info](http://rubydoc.info/gems/yard-tomdoc/frames)
|
26
|
+
* API
|
27
|
+
* YARD - [RubyDoc.info](http://rubydoc.info/gems/yard-tomdoc/frames)
|
28
|
+
* Shomen - (out of date)
|
29
|
+
[Rebecca](http://rubyworks.github.com/rebecca?doc=http://rubyworks.github.com/yard-tomdoc/docs/current.json) /
|
30
|
+
[Hypervisor](http://rubyworks.github.com/hypervisor?doc=http://rubyworks.github.com/yard-tomdoc/docs/current.json) /
|
31
|
+
[Rubyfaux](http://rubyworks.github.com/rubyfaux?doc=http://rubyworks.github.com/yard-tomdoc/docs/current.json)
|
33
32
|
|
34
33
|
|
35
34
|
## Limitations
|
@@ -37,19 +36,27 @@ Since `yard-tomdoc` is a standard YARD plugin, utilize it with yard's
|
|
37
36
|
Before you use yard-tomdoc you should read about the differences between YARD
|
38
37
|
and TomDoc syntax [here](http://gnuu.org/2010/05/12/whats-missing-from-tomdoc/).
|
39
38
|
|
39
|
+
Note that the YARD TomDoc plugin now supports a superset of TomDoc's syntax which
|
40
|
+
provides additional YARD functionality via *cap-tags*. For example using
|
41
|
+
`Author: James Deam` in the documentation is equivalent to using `@author James Dean`
|
42
|
+
in regular YARD syntax. Support is limited but it opens up much more of the YARD
|
43
|
+
goodness to TomDoc users then the old blog post geiven above suggests.
|
44
|
+
|
40
45
|
|
41
46
|
## Acknowledgements
|
42
47
|
|
43
|
-
Huge thanks to Loren Segal, the creator of YARD and the original author of this
|
44
|
-
Without his patient assistance and coding genius, this library would not
|
48
|
+
Huge thanks to Loren Segal, the creator of YARD and the original author of this
|
49
|
+
plugin. Without his patient assistance and coding genius, this library would not
|
50
|
+
have been possible.
|
45
51
|
|
46
52
|
|
47
53
|
## Licensing
|
48
54
|
|
49
|
-
|
55
|
+
YARD TomDoc is copyrighted open-source software.
|
50
56
|
|
51
57
|
Copyright (c) 2010 Rubyworks. All rights reserved.
|
52
58
|
|
53
|
-
YARD
|
59
|
+
YARD TomDoc can be modified and redistributed in accordance with the terms
|
60
|
+
of the **MIT** licsnse.
|
54
61
|
|
55
62
|
See the `LICENSE.txt` file for details.
|
data/lib/yard-tomdoc.rb
CHANGED
@@ -11,10 +11,12 @@ module YARD
|
|
11
11
|
|
12
12
|
# Parse comments with TomDoc and then provide YARD with results.
|
13
13
|
#
|
14
|
-
#
|
15
|
-
# comment - [String] comment string
|
14
|
+
# Arguments
|
16
15
|
#
|
17
|
-
#
|
16
|
+
# yard - [Docstring,DocstringParser] instance of yard object
|
17
|
+
# comment - [String] comment string
|
18
|
+
#
|
19
|
+
# Returns instance of [TomDoc].
|
18
20
|
def self.yard_parse(yard, comment)
|
19
21
|
tomdoc = TomParse.parse(comment)
|
20
22
|
|
@@ -33,8 +35,15 @@ module YARD
|
|
33
35
|
tomdoc.raises.each {|r| yard.create_tag(:raise, r.sub(/\ARaises\s+/, '')) }
|
34
36
|
|
35
37
|
tomdoc.returns.each do |r|
|
36
|
-
|
37
|
-
|
38
|
+
if md = /\[(.*?)\]\Z/.match(r)
|
39
|
+
klass = md[1]
|
40
|
+
desc = md.pre_match
|
41
|
+
yard.create_tag(:return, "[#{klass}] #{desc}")
|
42
|
+
elsif md = /\[(.*?)\]/.match(r)
|
43
|
+
klass = md[1]
|
44
|
+
desc = r.sub("[#{md[1]}]", md[1])
|
45
|
+
yard.create_tag(:return, "[#{klass}] #{desc}")
|
46
|
+
elsif md = /\AReturns\s+([A-Z].*?)\s+/.match(r)
|
38
47
|
klass = md[1]
|
39
48
|
desc = md.post_match
|
40
49
|
yard.create_tag(:return, "[#{klass}] #{desc}")
|
@@ -51,9 +60,10 @@ module YARD
|
|
51
60
|
yard.create_tag(:api, 'public') if tomdoc.public?
|
52
61
|
yard.create_tag(:api, 'private') if tomdoc.internal?
|
53
62
|
|
54
|
-
tomdoc.tags.each do |label, desc|
|
55
|
-
|
56
|
-
|
63
|
+
tomdoc.tags.each do |(label, desc)|
|
64
|
+
tag = label.to_s.downcase
|
65
|
+
if TAGS.include?(tag)
|
66
|
+
yard.create_tag(tag.to_sym, desc.to_s)
|
57
67
|
end
|
58
68
|
end
|
59
69
|
|
@@ -65,27 +75,22 @@ module YARD
|
|
65
75
|
metadata[name.to_s.downcase] || super(name)
|
66
76
|
end
|
67
77
|
|
68
|
-
# TODO: The #to_s on the gemspec return value is a bit too simplistic. But how to fix?
|
69
|
-
# The goal is reduce the value to a basic type (String, Hash, Array, Numeric).
|
70
|
-
|
71
78
|
# When a constant is missing, see if it is a metadata entry.
|
72
79
|
# Metadata comes from the RubyGem, and fallsback to project index file.
|
73
80
|
#
|
74
|
-
#
|
81
|
+
# Arguments
|
82
|
+
#
|
83
|
+
# name - [Symbol] constant name
|
75
84
|
#
|
76
85
|
# Returns metadata value.
|
77
86
|
def self.const_missing(const_name)
|
78
87
|
name = const_name.to_s.downcase
|
79
|
-
|
80
|
-
# Gem.loaded_specs[NAME].send(name).to_s
|
81
|
-
#rescue StandardError
|
82
|
-
index[name] || super(const_name)
|
83
|
-
#end
|
88
|
+
index[name] || super(const_name)
|
84
89
|
end
|
85
90
|
|
86
91
|
# Metadata from the `yard-tomdoc.yml` or `.index` file.
|
87
|
-
#
|
88
|
-
# Returns [Hash]
|
92
|
+
#
|
93
|
+
# Returns metadata. [Hash]
|
89
94
|
def self.index
|
90
95
|
@index ||= (
|
91
96
|
require 'yaml'
|
data/lib/yard-tomdoc.yml
CHANGED
@@ -10,13 +10,17 @@ authors:
|
|
10
10
|
organizations: []
|
11
11
|
requirements:
|
12
12
|
- name: yard
|
13
|
-
- version: 0.
|
13
|
+
- version: 0.4.0+
|
14
14
|
name: tomparse
|
15
|
-
- name: rc
|
16
15
|
- groups:
|
17
16
|
- build
|
18
17
|
development: true
|
19
18
|
name: detroit
|
19
|
+
- groups:
|
20
|
+
- build
|
21
|
+
- test
|
22
|
+
development: true
|
23
|
+
name: dotopts
|
20
24
|
- groups:
|
21
25
|
- test
|
22
26
|
development: true
|
@@ -53,10 +57,10 @@ customs: []
|
|
53
57
|
paths:
|
54
58
|
lib:
|
55
59
|
- lib
|
56
|
-
version: 0.
|
60
|
+
version: 0.7.0
|
57
61
|
name: yard-tomdoc
|
58
62
|
title: YARD TomDoc
|
59
63
|
summary: TomDoc for YARD
|
60
64
|
description: Use TomDoc documentation format with YARD.
|
61
65
|
webcvs: https://github.com/rubyworks/yard-tomdoc/tree/master
|
62
|
-
date: '2013-
|
66
|
+
date: '2013-02-11'
|
data/test/helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yard-tomdoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-02-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: yard
|
@@ -35,7 +35,7 @@ dependencies:
|
|
35
35
|
requirements:
|
36
36
|
- - ! '>='
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version: 0.
|
38
|
+
version: 0.4.0
|
39
39
|
type: :runtime
|
40
40
|
prerelease: false
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,16 +43,16 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.
|
46
|
+
version: 0.4.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: detroit
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
type: :
|
55
|
+
type: :development
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
none: false
|
@@ -61,7 +61,7 @@ dependencies:
|
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
64
|
+
name: dotopts
|
65
65
|
requirement: !ruby/object:Gem::Requirement
|
66
66
|
none: false
|
67
67
|
requirements:
|