rdoc-readme 0.1.1 → 0.1.2
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/.gitignore +2 -0
- data/HISTORY.rdoc +28 -0
- data/README.rdoc +8 -1
- data/Rakefile +21 -3
- data/lib/rdoc-readme.rb +34 -16
- data/lib/rdoc-readme/rake_task.rb +1 -1
- data/lib/rdoc-readme/version.rb +1 -1
- data/rdoc-readme.gemspec +5 -1
- data/test/data/expected +39 -0
- data/test/test_rdoc_readme.rb +97 -0
- metadata +50 -9
- data/HISTORY +0 -16
data/.gitignore
CHANGED
data/HISTORY.rdoc
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
= RDoc::Readme History
|
|
2
|
+
|
|
3
|
+
== 2012-01-03 v0.1.2
|
|
4
|
+
|
|
5
|
+
* Actual tests!
|
|
6
|
+
* Play nice with +RDoc::Task+
|
|
7
|
+
|
|
8
|
+
== 2011-04-06 v0.1.1
|
|
9
|
+
|
|
10
|
+
* Rake task can now send output to a file.
|
|
11
|
+
|
|
12
|
+
== 2011-04-06 v0.1.0
|
|
13
|
+
|
|
14
|
+
* +#from_file+ now returns array instead of printing to +$stdout+.
|
|
15
|
+
* +#from_file_handle+ now returns array instead of printing to +$stdout+.
|
|
16
|
+
|
|
17
|
+
== 2011-04-06 v0.0.3
|
|
18
|
+
|
|
19
|
+
* Added Rake task
|
|
20
|
+
|
|
21
|
+
== 2011-04-01 v0.0.2
|
|
22
|
+
|
|
23
|
+
* Documentation fix.
|
|
24
|
+
|
|
25
|
+
== 2011-04-01 v0.0.1
|
|
26
|
+
|
|
27
|
+
* Initial prototype release.
|
|
28
|
+
|
data/README.rdoc
CHANGED
|
@@ -25,8 +25,15 @@
|
|
|
25
25
|
# Pull in RDoc from $stdin and print to $stdout.
|
|
26
26
|
RDoc::Readme::RakeTask.new
|
|
27
27
|
|
|
28
|
+
== Author
|
|
29
|
+
|
|
30
|
+
blair christensen. <mailto:blair.christensen@gmail.com>
|
|
31
|
+
|
|
32
|
+
== Homepage
|
|
33
|
+
|
|
34
|
+
https://github.com/blairc/rdoc-readme/
|
|
35
|
+
|
|
28
36
|
== To Do
|
|
29
37
|
|
|
30
|
-
* Tests!
|
|
31
38
|
* Use +RDoc+ and/or +YARD+ to handle the parsing.
|
|
32
39
|
|
data/Rakefile
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
|
-
require 'bundler'
|
|
2
|
-
|
|
1
|
+
require 'bundler/gem_tasks'
|
|
2
|
+
require File.expand_path( File.join( File.dirname(__FILE__), 'lib', 'rdoc-readme', 'rake_task' ) )
|
|
3
|
+
require 'rake/clean'
|
|
4
|
+
require 'rake/testtask'
|
|
5
|
+
require 'rdoc/task'
|
|
6
|
+
|
|
7
|
+
%w{ coverage html out.txt pkg }.each { |p| CLEAN.include(p) }
|
|
8
|
+
%w{ build install test }.each { |t| task t.to_sym => [ 'rdoc:readme' ] }
|
|
9
|
+
|
|
10
|
+
task :default => :test
|
|
11
|
+
|
|
12
|
+
Rake::TestTask.new do |t|
|
|
13
|
+
t.libs << 'test'
|
|
14
|
+
t.test_files = FileList['test/test*.rb']
|
|
15
|
+
t.verbose = true
|
|
16
|
+
end
|
|
3
17
|
|
|
4
|
-
require './lib/rdoc-readme/rake_task'
|
|
5
18
|
RDoc::Readme::RakeTask.new 'lib/rdoc-readme.rb', 'README.rdoc'
|
|
6
19
|
|
|
20
|
+
RDoc::Task.new do |rdoc|
|
|
21
|
+
rdoc.main = 'README.rdoc'
|
|
22
|
+
rdoc.rdoc_files.include('README.rdoc', 'lib/**/*.rb')
|
|
23
|
+
end
|
|
24
|
+
|
data/lib/rdoc-readme.rb
CHANGED
|
@@ -26,22 +26,33 @@ module RDoc # :nodoc:
|
|
|
26
26
|
# # Pull in RDoc from $stdin and print to $stdout.
|
|
27
27
|
# RDoc::Readme::RakeTask.new
|
|
28
28
|
#
|
|
29
|
+
# == Author
|
|
30
|
+
#
|
|
31
|
+
# blair christensen. <mailto:blair.christensen@gmail.com>
|
|
32
|
+
#
|
|
33
|
+
# == Homepage
|
|
34
|
+
#
|
|
35
|
+
# https://github.com/blairc/rdoc-readme/
|
|
36
|
+
#
|
|
29
37
|
# == To Do
|
|
30
38
|
#
|
|
31
|
-
# * Tests!
|
|
32
39
|
# * Use +RDoc+ and/or +YARD+ to handle the parsing.
|
|
33
40
|
#
|
|
34
41
|
class Readme
|
|
35
42
|
|
|
36
|
-
#
|
|
43
|
+
#
|
|
44
|
+
# Create new RDoc::Readme generator.
|
|
45
|
+
#
|
|
37
46
|
def initialize
|
|
38
47
|
yield self if block_given?
|
|
48
|
+
self
|
|
39
49
|
end
|
|
40
50
|
|
|
41
|
-
#
|
|
51
|
+
#
|
|
52
|
+
# Read RDoc from file handle. Returns +Array+ of output lines.
|
|
42
53
|
#
|
|
43
54
|
# Params:
|
|
44
|
-
#
|
|
55
|
+
# +fh+:: Read from this file handle.
|
|
45
56
|
def from_file_handle(fh)
|
|
46
57
|
out = []
|
|
47
58
|
rdoc = false
|
|
@@ -50,38 +61,45 @@ module RDoc # :nodoc:
|
|
|
50
61
|
line.chomp!
|
|
51
62
|
|
|
52
63
|
if rdoc
|
|
53
|
-
|
|
64
|
+
_comment?(line) ? ( out << _sanitize(line) ) : rdoc = false
|
|
54
65
|
else
|
|
55
|
-
|
|
66
|
+
_start?(line) ? ( rdoc = true ; out << _sanitize(line) ) : rdoc = false
|
|
56
67
|
end
|
|
57
68
|
end
|
|
58
69
|
|
|
59
70
|
out
|
|
60
71
|
end
|
|
61
72
|
|
|
62
|
-
#
|
|
73
|
+
#
|
|
74
|
+
# Read RDoc from file. Returns +Array+ of output lines.
|
|
63
75
|
#
|
|
64
76
|
# Params:
|
|
65
|
-
#
|
|
77
|
+
# +fn+:: Read from this file.
|
|
66
78
|
def from_file(fn)
|
|
67
79
|
from_file_handle( File.open(fn) )
|
|
68
80
|
end
|
|
69
81
|
|
|
70
82
|
private
|
|
71
83
|
|
|
72
|
-
#
|
|
73
|
-
|
|
84
|
+
#
|
|
85
|
+
# Returns +true+ if +text+ contains a comment, otherwise +nil+.
|
|
86
|
+
#
|
|
87
|
+
def _comment?(text)
|
|
74
88
|
text =~ /^\s*#\s*/
|
|
75
89
|
end
|
|
76
90
|
|
|
77
|
-
#
|
|
78
|
-
|
|
79
|
-
|
|
91
|
+
#
|
|
92
|
+
# Returns +text+ with leading whitespace and comment prefix removed.
|
|
93
|
+
#
|
|
94
|
+
def _sanitize(text)
|
|
95
|
+
text.lstrip.gsub(/^#\s?/, '')
|
|
80
96
|
end
|
|
81
97
|
|
|
82
|
-
#
|
|
83
|
-
|
|
84
|
-
|
|
98
|
+
#
|
|
99
|
+
# Returns +true+ if +text+ is the start of RDoc comments, otherwise +nil+.
|
|
100
|
+
#
|
|
101
|
+
def _start?(text)
|
|
102
|
+
text =~ /^\s*#\s+=/
|
|
85
103
|
end
|
|
86
104
|
|
|
87
105
|
end
|
data/lib/rdoc-readme/version.rb
CHANGED
data/rdoc-readme.gemspec
CHANGED
|
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
|
8
8
|
s.platform = Gem::Platform::RUBY
|
|
9
9
|
s.authors = ['Blair Christensen']
|
|
10
10
|
s.email = ['blair.christensen@gmail.com']
|
|
11
|
-
s.homepage =
|
|
11
|
+
s.homepage = 'https://github.com/blairc/rdoc-readme/'
|
|
12
12
|
s.summary = %q{Extract high-level RDoc for use in a README file}
|
|
13
13
|
s.description = %q{Extract high-level RDoc for use in a README file}
|
|
14
14
|
|
|
@@ -18,4 +18,8 @@ Gem::Specification.new do |s|
|
|
|
18
18
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
20
20
|
s.require_paths = ['lib']
|
|
21
|
+
|
|
22
|
+
s.add_development_dependency 'rake', '~> 0.9.2'
|
|
23
|
+
s.add_development_dependency 'rdoc'
|
|
24
|
+
s.add_development_dependency 'simplecov'
|
|
21
25
|
end
|
data/test/data/expected
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
= RDoc::Readme - Extract high-level RDOC for use in a README file
|
|
2
|
+
|
|
3
|
+
== Usage
|
|
4
|
+
|
|
5
|
+
require 'rdoc-readme'
|
|
6
|
+
|
|
7
|
+
RDoc::Readme.new do |rdoc|
|
|
8
|
+
# Read from file
|
|
9
|
+
rdoc.from_file(file_name).each { |line| puts line }
|
|
10
|
+
|
|
11
|
+
# Read from file handle
|
|
12
|
+
rdoc.from_file_handle($stdin).each { |line| puts line }
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
== Rake Task
|
|
16
|
+
|
|
17
|
+
require 'rdoc-readme/rake_task'
|
|
18
|
+
|
|
19
|
+
# Pull in RDoc from source file and print to destination file.
|
|
20
|
+
RDoc::Readme::RakeTask.new 'lib/rdoc-readme.rb', 'README.rdoc'
|
|
21
|
+
|
|
22
|
+
# Pull in RDoc from source file and print to $stdout.
|
|
23
|
+
RDoc::Readme::RakeTask.new 'lib/rdoc-readme.rb'
|
|
24
|
+
|
|
25
|
+
# Pull in RDoc from $stdin and print to $stdout.
|
|
26
|
+
RDoc::Readme::RakeTask.new
|
|
27
|
+
|
|
28
|
+
== Author
|
|
29
|
+
|
|
30
|
+
blair christensen. <mailto:blair.christensen@gmail.com>
|
|
31
|
+
|
|
32
|
+
== Homepage
|
|
33
|
+
|
|
34
|
+
https://github.com/blairc/rdoc-readme/
|
|
35
|
+
|
|
36
|
+
== To Do
|
|
37
|
+
|
|
38
|
+
* Use +RDoc+ and/or +YARD+ to handle the parsing.
|
|
39
|
+
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require 'simplecov'
|
|
4
|
+
SimpleCov.start
|
|
5
|
+
|
|
6
|
+
require 'rdoc-readme'
|
|
7
|
+
require 'test/unit'
|
|
8
|
+
|
|
9
|
+
class TestRDocReadme < Test::Unit::TestCase
|
|
10
|
+
|
|
11
|
+
@@expected = File.readlines( File.join( File.dirname(__FILE__), 'data', 'expected' ) )
|
|
12
|
+
@@expected.map { |line| line.chomp! }
|
|
13
|
+
|
|
14
|
+
def setup
|
|
15
|
+
@fn = File.expand_path( File.join( File.dirname(__FILE__), '..', 'lib', 'rdoc-readme.rb' ) )
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_initialization
|
|
19
|
+
blockable = false
|
|
20
|
+
r = RDoc::Readme.new do |r|
|
|
21
|
+
assert_kind_of RDoc::Readme, r
|
|
22
|
+
blockable = true
|
|
23
|
+
end
|
|
24
|
+
assert blockable, 'works as block'
|
|
25
|
+
assert_kind_of RDoc::Readme, r
|
|
26
|
+
assert_kind_of RDoc::Readme, RDoc::Readme.new
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_from_file_handle
|
|
30
|
+
RDoc::Readme.new do |r|
|
|
31
|
+
assert_not_nil @@expected
|
|
32
|
+
assert_kind_of Array, @@expected
|
|
33
|
+
assert_equal 39, @@expected.size
|
|
34
|
+
|
|
35
|
+
results = r.from_file_handle( File.open(@fn) )
|
|
36
|
+
|
|
37
|
+
assert_not_nil results
|
|
38
|
+
assert_kind_of Array, results
|
|
39
|
+
assert_equal @@expected.size, results.size
|
|
40
|
+
@@expected.each_with_index { |line, idx| assert_equal line, results[idx] }
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def test_from_file
|
|
45
|
+
RDoc::Readme.new do |r|
|
|
46
|
+
assert_not_nil @@expected
|
|
47
|
+
assert_kind_of Array, @@expected
|
|
48
|
+
assert_equal 39, @@expected.size
|
|
49
|
+
|
|
50
|
+
results = r.from_file(@fn)
|
|
51
|
+
assert_not_nil results
|
|
52
|
+
assert_kind_of Array, results
|
|
53
|
+
assert_equal @@expected.size, results.size
|
|
54
|
+
@@expected.each_with_index { |line, idx| assert_equal line, results[idx] }
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_underscore_comment?
|
|
59
|
+
RDoc::Readme.new do |r|
|
|
60
|
+
[ "", "foo" ].each do |txt|
|
|
61
|
+
assert_nil r.send(:_comment?, txt)
|
|
62
|
+
end
|
|
63
|
+
[ "#", " #", "# #" ].each do |txt|
|
|
64
|
+
assert r.send(:_comment?, txt)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_underscore_sanitize
|
|
70
|
+
RDoc::Readme.new do |r|r
|
|
71
|
+
{
|
|
72
|
+
'' => '',
|
|
73
|
+
'foo' => 'foo',
|
|
74
|
+
'foo #' => 'foo #',
|
|
75
|
+
' # foo' => 'foo',
|
|
76
|
+
'# foo' => 'foo',
|
|
77
|
+
'#' => ''
|
|
78
|
+
}.each_pair do |input, output|
|
|
79
|
+
assert_equal output, r.send(:_sanitize, input)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
#text.lstrip.gsub(/^#\s?/, '')
|
|
84
|
+
|
|
85
|
+
def test_underscore_start?
|
|
86
|
+
RDoc::Readme.new do |r|
|
|
87
|
+
[ "", "foo", "#", " #", "# #", "#=", "# foo" ].each do |txt|
|
|
88
|
+
assert_nil r.send(:_start?, txt)
|
|
89
|
+
end
|
|
90
|
+
[ "# = foo", " # == foo" ].each do |txt|
|
|
91
|
+
assert r.send(:_start?, txt)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
end
|
|
97
|
+
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rdoc-readme
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,9 +9,41 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
date: 2012-01-03 00:00:00.000000000Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: rake
|
|
16
|
+
requirement: &70363536723760 !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
18
|
+
requirements:
|
|
19
|
+
- - ~>
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: 0.9.2
|
|
22
|
+
type: :development
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: *70363536723760
|
|
25
|
+
- !ruby/object:Gem::Dependency
|
|
26
|
+
name: rdoc
|
|
27
|
+
requirement: &70363536723340 !ruby/object:Gem::Requirement
|
|
28
|
+
none: false
|
|
29
|
+
requirements:
|
|
30
|
+
- - ! '>='
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
type: :development
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: *70363536723340
|
|
36
|
+
- !ruby/object:Gem::Dependency
|
|
37
|
+
name: simplecov
|
|
38
|
+
requirement: &70363536759740 !ruby/object:Gem::Requirement
|
|
39
|
+
none: false
|
|
40
|
+
requirements:
|
|
41
|
+
- - ! '>='
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '0'
|
|
44
|
+
type: :development
|
|
45
|
+
prerelease: false
|
|
46
|
+
version_requirements: *70363536759740
|
|
15
47
|
description: Extract high-level RDoc for use in a README file
|
|
16
48
|
email:
|
|
17
49
|
- blair.christensen@gmail.com
|
|
@@ -22,7 +54,7 @@ extra_rdoc_files: []
|
|
|
22
54
|
files:
|
|
23
55
|
- .gitignore
|
|
24
56
|
- Gemfile
|
|
25
|
-
- HISTORY
|
|
57
|
+
- HISTORY.rdoc
|
|
26
58
|
- README.rdoc
|
|
27
59
|
- Rakefile
|
|
28
60
|
- bin/rdoc2readme
|
|
@@ -30,8 +62,9 @@ files:
|
|
|
30
62
|
- lib/rdoc-readme/rake_task.rb
|
|
31
63
|
- lib/rdoc-readme/version.rb
|
|
32
64
|
- rdoc-readme.gemspec
|
|
33
|
-
|
|
34
|
-
|
|
65
|
+
- test/data/expected
|
|
66
|
+
- test/test_rdoc_readme.rb
|
|
67
|
+
homepage: https://github.com/blairc/rdoc-readme/
|
|
35
68
|
licenses: []
|
|
36
69
|
post_install_message:
|
|
37
70
|
rdoc_options: []
|
|
@@ -43,16 +76,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
43
76
|
- - ! '>='
|
|
44
77
|
- !ruby/object:Gem::Version
|
|
45
78
|
version: '0'
|
|
79
|
+
segments:
|
|
80
|
+
- 0
|
|
81
|
+
hash: 595138242485204300
|
|
46
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
47
83
|
none: false
|
|
48
84
|
requirements:
|
|
49
85
|
- - ! '>='
|
|
50
86
|
- !ruby/object:Gem::Version
|
|
51
87
|
version: '0'
|
|
88
|
+
segments:
|
|
89
|
+
- 0
|
|
90
|
+
hash: 595138242485204300
|
|
52
91
|
requirements: []
|
|
53
92
|
rubyforge_project: rdoc-readme
|
|
54
|
-
rubygems_version: 1.
|
|
93
|
+
rubygems_version: 1.8.7
|
|
55
94
|
signing_key:
|
|
56
95
|
specification_version: 3
|
|
57
96
|
summary: Extract high-level RDoc for use in a README file
|
|
58
|
-
test_files:
|
|
97
|
+
test_files:
|
|
98
|
+
- test/data/expected
|
|
99
|
+
- test/test_rdoc_readme.rb
|
data/HISTORY
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
2011-04-06 v0.1.1
|
|
2
|
-
- Rake task can now send output to a file.
|
|
3
|
-
|
|
4
|
-
2011-04-06 v0.1.0
|
|
5
|
-
- '#from_file' now returns array instead of printing to $stdout.
|
|
6
|
-
- '#from_file_handle' now returns array instead of printing to $stdout.
|
|
7
|
-
|
|
8
|
-
2011-04-06 v0.0.3
|
|
9
|
-
- Added Rake task
|
|
10
|
-
|
|
11
|
-
2011-04-01 v0.0.2
|
|
12
|
-
- Documentation fix.
|
|
13
|
-
|
|
14
|
-
2011-04-01 v0.0.1
|
|
15
|
-
- Initial prototype release.
|
|
16
|
-
|