docbook_status 0.5.0 → 1.0.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/.gitignore +7 -0
- data/History.txt +6 -0
- data/README.rdoc +1 -1
- data/lib/docbook_status/history.rb +6 -4
- data/lib/docbook_status/status.rb +15 -2
- data/test/fixtures/book-remarks.xml +29 -0
- data/test/test_docbook_status.rb +14 -2
- data/version.txt +1 -1
- metadata +36 -15
- data/test/.DS_Store +0 -0
data/.gitignore
ADDED
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 1.0.0 / 2012-07-04
|
2
|
+
|
3
|
+
* Updated version to 1.0, 0.5 had few and tiny bug reports
|
4
|
+
* Empty remarks are now properly handled and signaled.
|
5
|
+
* Improved Ruby 1.8.7 support for status history.
|
6
|
+
|
1
7
|
== 0.5.0 / 2011-10-15
|
2
8
|
|
3
9
|
* Removed the daemon functionality, it didn't work across platforms. Use Guard instead.
|
data/README.rdoc
CHANGED
@@ -120,7 +120,7 @@ http://rvolz.github.com/docbook_status/
|
|
120
120
|
|
121
121
|
The MIT License
|
122
122
|
|
123
|
-
Copyright (c) 2011 Rainer Volz
|
123
|
+
Copyright (c) 2011-12 Rainer Volz
|
124
124
|
|
125
125
|
Permission is hereby granted, free of charge, to any person obtaining
|
126
126
|
a copy of this software and associated documentation files (the
|
@@ -71,10 +71,12 @@ module DocbookStatus
|
|
71
71
|
|
72
72
|
# Add to the history
|
73
73
|
def add(ts,word_count)
|
74
|
-
#
|
75
|
-
|
76
|
-
|
77
|
-
|
74
|
+
# Ruby 1.8 doesn't have DateTime#to_date, so we check that here
|
75
|
+
begin
|
76
|
+
k = ts.to_date
|
77
|
+
rescue NoMethodError
|
78
|
+
k = Date.parse(ts.to_s)
|
79
|
+
end
|
78
80
|
unless (@history[:archive][k].nil?)
|
79
81
|
@history[:archive][k][:min] = word_count if @history[:archive][k][:min] > word_count
|
80
82
|
@history[:archive][k][:max] = word_count if @history[:archive][k][:max] < word_count
|
@@ -15,6 +15,14 @@ module DocbookStatus
|
|
15
15
|
#
|
16
16
|
XINCLUDE_NS = 'http://www.w3.org/2001/XInclude'
|
17
17
|
|
18
|
+
# Standard remark keyword, if there is none entered
|
19
|
+
#
|
20
|
+
STD_REMARK = 'REMARK'
|
21
|
+
|
22
|
+
# Standard remark text for remarks without content
|
23
|
+
#
|
24
|
+
EMPTY_REMARK = '-- EMPTY REMARK --'
|
25
|
+
|
18
26
|
# Elements whose contents is counted as text. The _formalpara_
|
19
27
|
# elements are included implicitly because they contain _para_ child
|
20
28
|
# elements.
|
@@ -168,13 +176,15 @@ module DocbookStatus
|
|
168
176
|
rems = doc.find('//db:remark')
|
169
177
|
rems.map {|rem|
|
170
178
|
c = rem.content.strip
|
171
|
-
kw =
|
172
|
-
|
179
|
+
kw = STD_REMARK
|
180
|
+
unless c.empty?
|
173
181
|
kw1 = c.match('^([[:upper:]]+)([[:space:][:punct:]]|$)')
|
174
182
|
unless kw1.nil?
|
175
183
|
kw = kw1[1]
|
176
184
|
c = kw1.post_match.lstrip
|
177
185
|
end
|
186
|
+
else
|
187
|
+
c = EMPTY_REMARK
|
178
188
|
end
|
179
189
|
# TODO XPath integrieren? :path => rem.path, :parent => rem.parent.path,
|
180
190
|
{:keyword => kw, :text => c, :file=>source, :line => rem.line_num}
|
@@ -182,6 +192,9 @@ module DocbookStatus
|
|
182
192
|
end
|
183
193
|
|
184
194
|
# Finds the remarks by looking through all the Xincluded files
|
195
|
+
#
|
196
|
+
# The remarks returned can be filtered by keyword if an keyword array is
|
197
|
+
# passed as an argument.
|
185
198
|
#
|
186
199
|
def find_remarks(filter=[])
|
187
200
|
if (@source.nil?)
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
2
|
+
<book xmlns="http://docbook.org/ns/docbook"
|
3
|
+
xmlns:xi="http://www.w3.org/2001/XInclude"
|
4
|
+
version="5.0">
|
5
|
+
<title>B1</title>
|
6
|
+
<chapter>
|
7
|
+
<title>C1</title>
|
8
|
+
<para>
|
9
|
+
Dies ist ein Test .. Dies ist ein Test.
|
10
|
+
In den Jahren 1900-1901 geschahen viele Überfälle von O`Reillys.
|
11
|
+
</para>
|
12
|
+
<formalpara>
|
13
|
+
<title>Titel</title>
|
14
|
+
<para>
|
15
|
+
<remark>Blindtext auswechseln</remark>
|
16
|
+
Lorem ipsum dolor sit amet, consectetuer adipiscing
|
17
|
+
elit. Aenean commodo ligula eget dolor. Aenean massa.
|
18
|
+
</para>
|
19
|
+
</formalpara>
|
20
|
+
<remark/>
|
21
|
+
<simpara>
|
22
|
+
Cum sociis natoque penatibus et magnis dis parturient montes,
|
23
|
+
nascetur ridiculus mus. Donec quam felis, ultricies nec,
|
24
|
+
pellentesque eu, pretium quis, sem.
|
25
|
+
</simpara>
|
26
|
+
<remark></remark>
|
27
|
+
<remark> </remark>
|
28
|
+
</chapter>
|
29
|
+
</book>
|
data/test/test_docbook_status.rb
CHANGED
@@ -91,7 +91,6 @@ EOI
|
|
91
91
|
dbs = DocbookStatus::Status.new('test/fixtures/book.xml')
|
92
92
|
info = dbs.analyze_file
|
93
93
|
info[:file].must_equal(File.expand_path('.')+'/test/fixtures/book.xml')
|
94
|
-
#info[:modified].to_s.must_equal('2011-09-09 18:20:15 +0200')
|
95
94
|
end
|
96
95
|
|
97
96
|
it "filters remarks while counting" do
|
@@ -113,10 +112,23 @@ EOI
|
|
113
112
|
it "finds remarks" do
|
114
113
|
dbs = DocbookStatus::Status.new('test/fixtures/book.xml')
|
115
114
|
all_remarks = dbs.find_remarks
|
116
|
-
#all_remarks = dbs.remarks()
|
117
115
|
all_remarks.must_equal([{:keyword=>"REMARK", :text=>"Blindtext auswechseln", :file=>"book.xml", :line=>15}, {:keyword=>"FIXME", :text=>"Ausbauen.", :file=>"chapter2.xml", :line=>6}])
|
118
116
|
fixmes = dbs.remarks('FIXME')
|
119
117
|
fixmes.must_equal([{:keyword=>"FIXME", :text=>"Ausbauen.", :file=>"chapter2.xml", :line=>6}])
|
120
118
|
end
|
121
119
|
|
120
|
+
describe "with problematic remarks" do
|
121
|
+
it "can deal with empty remarks" do
|
122
|
+
dbs = DocbookStatus::Status.new('test/fixtures/book-remarks.xml')
|
123
|
+
all_remarks = dbs.find_remarks
|
124
|
+
all_remarks.length.must_equal(4)
|
125
|
+
end
|
126
|
+
it "signals empty remarks" do
|
127
|
+
dbs = DocbookStatus::Status.new('test/fixtures/book-remarks.xml')
|
128
|
+
all_remarks = dbs.find_remarks
|
129
|
+
empties = all_remarks.select {|r| r[:text] == DocbookStatus::Status::EMPTY_REMARK}
|
130
|
+
empties.length.must_equal(3)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
122
134
|
end
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docbook_status
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,27 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-07-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: libxml-ruby
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
21
|
+
version: 2.3.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.3.2
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: term-ansicolor
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,29 +37,44 @@ dependencies:
|
|
32
37
|
version: 1.0.7
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.0.7
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: zucker
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
53
|
+
version: '12.1'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '12.1'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: bones
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
53
68
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.
|
69
|
+
version: 3.8.0
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 3.8.0
|
58
78
|
description: A utility for DocBook authors/publishers showing the document structure
|
59
79
|
(sections) and word count of a DocBook project. It is intended to provide an overview
|
60
80
|
of a DocBook project's structure and size while you are writing or editing it.
|
@@ -67,6 +87,7 @@ extra_rdoc_files:
|
|
67
87
|
- README.rdoc
|
68
88
|
- bin/docbook_status
|
69
89
|
files:
|
90
|
+
- .gitignore
|
70
91
|
- Gemfile
|
71
92
|
- Gemfile.lock
|
72
93
|
- History.txt
|
@@ -78,7 +99,7 @@ files:
|
|
78
99
|
- lib/docbook_status/status.rb
|
79
100
|
- spec/docbook_status_spec.rb
|
80
101
|
- spec/spec_helper.rb
|
81
|
-
- test
|
102
|
+
- test/fixtures/book-remarks.xml
|
82
103
|
- test/fixtures/book.xml
|
83
104
|
- test/fixtures/bookxi.xml
|
84
105
|
- test/fixtures/chapter2.xml
|
@@ -110,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
131
|
version: '0'
|
111
132
|
requirements: []
|
112
133
|
rubyforge_project: docbook_status
|
113
|
-
rubygems_version: 1.8.
|
134
|
+
rubygems_version: 1.8.24
|
114
135
|
signing_key:
|
115
136
|
specification_version: 3
|
116
137
|
summary: A utility for DocBook authors/publishers showing the document structure (sections)
|
data/test/.DS_Store
DELETED
Binary file
|