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 CHANGED
@@ -1,5 +1,7 @@
1
1
  .*.swp
2
2
  *.gem
3
3
  .bundle
4
+ coverage/
4
5
  Gemfile.lock
6
+ html/
5
7
  pkg/*
@@ -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
+
@@ -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
- Bundler::GemHelper.install_tasks
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
+
@@ -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
- # Create new +RDoc::Readme+ generator.
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
- # Read RDoc from file handle. Returns array of output lines.
51
+ #
52
+ # Read RDoc from file handle. Returns +Array+ of output lines.
42
53
  #
43
54
  # Params:
44
- # +fh+:: Read from this file handle.
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
- comment?(line) ? ( out << sanitize(line) ) : rdoc = false
64
+ _comment?(line) ? ( out << _sanitize(line) ) : rdoc = false
54
65
  else
55
- start?(line) ? ( rdoc = true ; out << sanitize(line) ) : rdoc = false
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
- # Read RDoc from file. Returns array of output lines.
73
+ #
74
+ # Read RDoc from file. Returns +Array+ of output lines.
63
75
  #
64
76
  # Params:
65
- # +fn+:: Read from this file.
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
- # Is this a comment?
73
- def comment?(text)
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
- # Is this the start of RDoc markup?
78
- def start?(text)
79
- text =~ /^\s*#\s+=/
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
- # Remove leading whitespace and comments from RDoc text.
83
- def sanitize(text)
84
- text.lstrip.gsub(/^#\s?/, '')
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
@@ -12,7 +12,7 @@ module RDoc # :nodoc:
12
12
 
13
13
  desc('Generate README from RDoc')
14
14
  task @name do
15
- RDoc::Readme.new do |rdoc|
15
+ ::RDoc::Readme.new do |rdoc|
16
16
  if src && dst
17
17
  File.open(dst, 'w').puts( rdoc.from_file(src) )
18
18
  elsif src
@@ -1,5 +1,5 @@
1
1
  module RDoc # :nodoc:
2
2
  class Readme
3
- VERSION = '0.1.1'
3
+ VERSION = '0.1.2'
4
4
  end
5
5
  end
@@ -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
@@ -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.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: 2011-04-06 00:00:00.000000000 -05:00
13
- default_executable:
14
- dependencies: []
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
- has_rdoc: true
34
- homepage: ''
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.6.0
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
-