id3lib-ruby 0.4.1-mswin32 → 0.5.0-mswin32
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/CHANGES +13 -0
- data/INSTALL +57 -0
- data/README +3 -12
- data/Rakefile +13 -10
- data/ext/mswin32/id3lib_api.so +0 -0
- data/lib/id3lib/info.rb +41 -37
- data/lib/id3lib.rb +10 -3
- data/test/test_writing.rb +1 -0
- metadata +6 -4
data/CHANGES
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
= id3lib-ruby changes
|
2
2
|
|
3
|
+
=== 0.5.0 (2006-12-16)
|
4
|
+
|
5
|
+
* Warn when encountering nil field instead of raising exception (bug 6446).
|
6
|
+
* Corrected allowed fields - they are now generated from id3lib's source.
|
7
|
+
* Renamed :id field to :identifier because of confusion with frame ID.
|
8
|
+
* Added INSTALL document for installation instructions.
|
9
|
+
* Fixed memory leak in extension, where iterator was never released.
|
10
|
+
According to tests, there is no memory leak anymore.
|
11
|
+
* Added two patches for id3lib in mswin32 gem:
|
12
|
+
* unicode16: fixes Unicode writing bug
|
13
|
+
* convert_i-leak: fixes memory leak in Unicode conversion function
|
14
|
+
* Updated to SWIG 1.3.31.
|
15
|
+
|
3
16
|
=== 0.4.1 (r53)
|
4
17
|
|
5
18
|
* Added :description to the allowed fields of :TXXX frames (patch 5484).
|
data/INSTALL
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
= id3lib-ruby installation instructions
|
2
|
+
|
3
|
+
== Binary package (Windows)
|
4
|
+
|
5
|
+
There are precompiled binary gems available for Windows, so the installation
|
6
|
+
is as simple as typing the following and selecting the newest mswin32 gem:
|
7
|
+
|
8
|
+
gem install id3lib-ruby
|
9
|
+
|
10
|
+
== Source package
|
11
|
+
|
12
|
+
For other systems, there is a RubyGems package or a compressed archive.
|
13
|
+
|
14
|
+
=== Prerequisites
|
15
|
+
|
16
|
+
Before installing id3lib-ruby, you need to install the underlying id3lib
|
17
|
+
library and, depending on your system, set CONFIGURE_ARGS.
|
18
|
+
|
19
|
+
==== Debian
|
20
|
+
|
21
|
+
Install libid3-dev and be sure to have ruby1.8-dev installed, otherwise you
|
22
|
+
won't be able to build Ruby extensions.
|
23
|
+
|
24
|
+
sudo aptitude install libid3-dev
|
25
|
+
|
26
|
+
==== Gentoo
|
27
|
+
|
28
|
+
sudo emerge -n id3lib
|
29
|
+
|
30
|
+
==== OS X with Fink
|
31
|
+
|
32
|
+
Install id3lib4-dev:
|
33
|
+
|
34
|
+
sudo apt-get install id3lib4-dev
|
35
|
+
|
36
|
+
Fink puts the library and header files in /sw. In order to enable the
|
37
|
+
id3lib-ruby install program to find them, do:
|
38
|
+
|
39
|
+
export CONFIGURE_ARGS="--with-opt-dir=/sw"
|
40
|
+
|
41
|
+
==== Manual compilation
|
42
|
+
|
43
|
+
Download, compile and install id3lib. When installing in /usr/local, you
|
44
|
+
have to set CONFIGURE_ARGS:
|
45
|
+
|
46
|
+
export CONFIGURE_ARGS="--with-opt-dir=/usr/local"
|
47
|
+
|
48
|
+
=== Installing id3lib-ruby
|
49
|
+
|
50
|
+
Now you're ready to install id3lib-ruby. If you use RubyGems, run the
|
51
|
+
following and select the newest version marked "ruby":
|
52
|
+
|
53
|
+
sudo gem install id3lib-ruby
|
54
|
+
|
55
|
+
Or if you install from the archive, unpack it and do:
|
56
|
+
|
57
|
+
sudo ruby setup.rb
|
data/README
CHANGED
@@ -21,23 +21,14 @@ See TODO for planned features.
|
|
21
21
|
The CHANGES file contains a list of changes between versions.
|
22
22
|
|
23
23
|
|
24
|
-
== Online Information
|
25
|
-
|
26
|
-
The home of id3lib-ruby is http://id3lib-ruby.rubyforge.org
|
27
|
-
|
28
|
-
|
29
24
|
== Installation
|
30
25
|
|
31
|
-
|
32
|
-
commands, unless you use the Windows binary gem.
|
33
|
-
|
34
|
-
Installation through RubyGems:
|
26
|
+
See INSTALL.
|
35
27
|
|
36
|
-
gem install id3lib-ruby
|
37
28
|
|
38
|
-
|
29
|
+
== Online Information
|
39
30
|
|
40
|
-
|
31
|
+
The home of id3lib-ruby is http://id3lib-ruby.rubyforge.org
|
41
32
|
|
42
33
|
|
43
34
|
== Usage
|
data/Rakefile
CHANGED
@@ -10,8 +10,6 @@ require 'rake/testtask'
|
|
10
10
|
require 'rake/rdoctask'
|
11
11
|
|
12
12
|
|
13
|
-
PKG_VERSION = '0.4.1'
|
14
|
-
|
15
13
|
FILES_COMMON = FileList[
|
16
14
|
'lib/**/*.rb',
|
17
15
|
'test/test_*.rb',
|
@@ -21,6 +19,10 @@ FILES_COMMON = FileList[
|
|
21
19
|
'*.rb'
|
22
20
|
]
|
23
21
|
|
22
|
+
FILES_DOC = FileList[
|
23
|
+
'README', 'INSTALL', 'TODO', 'CHANGES'
|
24
|
+
]
|
25
|
+
|
24
26
|
FILES_EXT = FileList[
|
25
27
|
'ext/*.rb',
|
26
28
|
'ext/*.cxx',
|
@@ -56,8 +58,8 @@ Rake::RDocTask.new :rdoc do |rdoc|
|
|
56
58
|
rdoc.rdoc_dir = 'doc'
|
57
59
|
rdoc.title = 'id3lib-ruby'
|
58
60
|
rdoc.options = RDOC_OPTS
|
61
|
+
rdoc.rdoc_files.include(FILES_DOC)
|
59
62
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
60
|
-
rdoc.rdoc_files.include('README', 'TODO', 'CHANGES')
|
61
63
|
end
|
62
64
|
task :doc => [:rdoc]
|
63
65
|
|
@@ -65,7 +67,7 @@ task :doc => [:rdoc]
|
|
65
67
|
if defined? Gem
|
66
68
|
spec = Gem::Specification.new do |s|
|
67
69
|
s.name = 'id3lib-ruby'
|
68
|
-
s.version =
|
70
|
+
s.version = File.read('lib/id3lib.rb')[/VERSION = '(.*)'/, 1]
|
69
71
|
s.summary =
|
70
72
|
'id3lib-ruby provides a Ruby interface to the id3lib C++ library for ' +
|
71
73
|
'easily editing ID3 tags (v1 and v2) like with pyid3lib.'
|
@@ -74,7 +76,7 @@ if defined? Gem
|
|
74
76
|
s.extensions = ['ext/extconf.rb']
|
75
77
|
s.test_files = FileList['test/test_*.rb']
|
76
78
|
s.has_rdoc = true
|
77
|
-
s.extra_rdoc_files =
|
79
|
+
s.extra_rdoc_files = FILES_DOC
|
78
80
|
s.rdoc_options = RDOC_OPTS
|
79
81
|
s.author = 'Robin Stocker'
|
80
82
|
s.email = 'robinstocker@rubyforge.org'
|
@@ -95,9 +97,9 @@ if defined? Gem
|
|
95
97
|
|
96
98
|
desc "Build mswin32 gem."
|
97
99
|
task :gem_mswin32 => [:ext_mswin32] do
|
98
|
-
Gem::Builder.new(spec_mswin32).build
|
99
|
-
|
100
|
-
mv
|
100
|
+
gemfile = Gem::Builder.new(spec_mswin32).build
|
101
|
+
mkpath "pkg"
|
102
|
+
mv gemfile, "pkg/"
|
101
103
|
end
|
102
104
|
|
103
105
|
end # defined? Gem
|
@@ -105,7 +107,7 @@ end # defined? Gem
|
|
105
107
|
|
106
108
|
task :web => [:web_doc] do
|
107
109
|
puts "# Now execute the following:"
|
108
|
-
puts "scp web
|
110
|
+
puts "scp web/index.html web/logo.png web/red.css robinstocker@rubyforge.org:/var/www/gforge-projects/id3lib-ruby/"
|
109
111
|
puts "scp -r web/doc robinstocker@rubyforge.org:/var/www/gforge-projects/id3lib-ruby/"
|
110
112
|
end
|
111
113
|
|
@@ -115,10 +117,11 @@ Rake::RDocTask.new :web_doc do |rdoc|
|
|
115
117
|
rdoc.title = 'id3lib-ruby'
|
116
118
|
rdoc.options = RDOC_OPTS.clone
|
117
119
|
rdoc.options << '--main' << 'ID3Lib::Tag'
|
118
|
-
rdoc.rdoc_files.include(
|
120
|
+
rdoc.rdoc_files.include(FILES_DOC)
|
119
121
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
120
122
|
end
|
121
123
|
|
124
|
+
desc "Generate syntax-highlighted HTML of usage.rb."
|
122
125
|
task :usage_html do
|
123
126
|
require 'syntax/convertors/html'
|
124
127
|
convertor = Syntax::Convertors::HTML.for_syntax('ruby')
|
data/ext/mswin32/id3lib_api.so
CHANGED
Binary file
|
data/lib/id3lib/info.rb
CHANGED
@@ -57,25 +57,29 @@ module ID3Lib
|
|
57
57
|
|
58
58
|
#
|
59
59
|
# Please note that these frames are not fully supported by id3lib:
|
60
|
-
# AENC,
|
61
|
-
# OWNE, POSS, RBUF,
|
60
|
+
# AENC, COMR, EQUA, ETCO, MCDI, MLLT,
|
61
|
+
# OWNE, POSS, RBUF, RVAD, RVRB, SYTC
|
62
|
+
# And these are not supported at all (segfault on usage):
|
63
|
+
# ASPI, EQU2, RVA2, SEEK, SIGN, TDEN,
|
64
|
+
# TDOR, TDRC, TDRL, TDTG, TIPL, TMCL,
|
65
|
+
# TMOO, TPRO, TSOA, TSOP, TSOT, TSST
|
62
66
|
#
|
63
67
|
Frames = [
|
64
68
|
# Special frames
|
65
69
|
[0, :____, "No known frame", []],
|
66
|
-
[1, :AENC, "Audio encryption", [:
|
67
|
-
[2, :APIC, "Attached picture", [:textenc, :mimetype, :picturetype, :description, :data]],
|
68
|
-
[3, :ASPI, "Audio seek point index", [
|
70
|
+
[1, :AENC, "Audio encryption", [:data]],
|
71
|
+
[2, :APIC, "Attached picture", [:textenc, :imageformat, :mimetype, :picturetype, :description, :data]],
|
72
|
+
[3, :ASPI, "Audio seek point index", []],
|
69
73
|
[4, :COMM, "Comments", [:textenc, :language, :description, :text]],
|
70
74
|
[5, :COMR, "Commercial frame", [:data]],
|
71
|
-
[6, :ENCR, "Encryption method registration", [:owner, :
|
72
|
-
[7, :EQU2, "Equalisation (2)", [
|
75
|
+
[6, :ENCR, "Encryption method registration", [:owner, :identifier, :data]],
|
76
|
+
[7, :EQU2, "Equalisation (2)", []],
|
73
77
|
[8, :EQUA, "Equalization", [:data]],
|
74
78
|
[9, :ETCO, "Event timing codes", [:data]],
|
75
79
|
[10, :GEOB, "General encapsulated object", [:textenc, :mimetype, :filename, :description, :data]],
|
76
|
-
[11, :GRID, "Group identification registration", [:owner, :
|
80
|
+
[11, :GRID, "Group identification registration", [:owner, :identifier, :data]],
|
77
81
|
[12, :IPLS, "Involved people list", [:textenc, :text]],
|
78
|
-
[13, :LINK, "Linked information", [:
|
82
|
+
[13, :LINK, "Linked information", [:identifier, :url, :text]],
|
79
83
|
[14, :MCDI, "Music CD identifier", [:data]],
|
80
84
|
[15, :MLLT, "MPEG location lookup table", [:data]],
|
81
85
|
[16, :OWNE, "Ownership frame", [:data]],
|
@@ -84,13 +88,13 @@ module ID3Lib
|
|
84
88
|
[19, :POPM, "Popularimeter", [:email, :rating, :counter]],
|
85
89
|
[20, :POSS, "Position synchronisation frame", [:data]],
|
86
90
|
[21, :RBUF, "Recommended buffer size", [:data]],
|
87
|
-
[22, :RVA2, "Relative volume adjustment (2)", [
|
91
|
+
[22, :RVA2, "Relative volume adjustment (2)", []],
|
88
92
|
[23, :RVAD, "Relative volume adjustment", [:data]],
|
89
93
|
[24, :RVRB, "Reverb", [:data]],
|
90
|
-
[25, :SEEK, "Seek frame", [
|
91
|
-
[26, :SIGN, "Signature frame", [
|
94
|
+
[25, :SEEK, "Seek frame", []],
|
95
|
+
[26, :SIGN, "Signature frame", []],
|
92
96
|
[27, :SYLT, "Synchronized lyric/text", [:textenc, :language, :timestampformat, :contenttype, :description, :data]],
|
93
|
-
[28, :SYTC, "Synchronized tempo codes", [:
|
97
|
+
[28, :SYTC, "Synchronized tempo codes", [:data]],
|
94
98
|
# Text information frames
|
95
99
|
[29, :TALB, "Album/Movie/Show title", [:textenc, :text]],
|
96
100
|
[30, :TBPM, "BPM (beats per minute)", [:textenc, :text]],
|
@@ -98,13 +102,13 @@ module ID3Lib
|
|
98
102
|
[32, :TCON, "Content type", [:textenc, :text]],
|
99
103
|
[33, :TCOP, "Copyright message", [:textenc, :text]],
|
100
104
|
[34, :TDAT, "Date", [:textenc, :text]],
|
101
|
-
[35, :TDEN, "Encoding time", [
|
105
|
+
[35, :TDEN, "Encoding time", []],
|
102
106
|
[36, :TDLY, "Playlist delay", [:textenc, :text]],
|
103
|
-
[37, :TDOR, "Original release time", [
|
104
|
-
[38, :TDRC, "Recording time", [
|
105
|
-
[39, :TDRL, "Release time", [
|
106
|
-
[40, :TDTG, "Tagging time", [
|
107
|
-
[41, :TIPL, "Involved people list", [
|
107
|
+
[37, :TDOR, "Original release time", []],
|
108
|
+
[38, :TDRC, "Recording time", []],
|
109
|
+
[39, :TDRL, "Release time", []],
|
110
|
+
[40, :TDTG, "Tagging time", []],
|
111
|
+
[41, :TIPL, "Involved people list", []],
|
108
112
|
[42, :TENC, "Encoded by", [:textenc, :text]],
|
109
113
|
[43, :TEXT, "Lyricist/Text writer", [:textenc, :text]],
|
110
114
|
[44, :TFLT, "File type", [:textenc, :text]],
|
@@ -115,9 +119,9 @@ module ID3Lib
|
|
115
119
|
[49, :TKEY, "Initial key", [:textenc, :text]],
|
116
120
|
[50, :TLAN, "Language(s)", [:textenc, :text]],
|
117
121
|
[51, :TLEN, "Length", [:textenc, :text]],
|
118
|
-
[52, :TMCL, "Musician credits list", [
|
122
|
+
[52, :TMCL, "Musician credits list", []],
|
119
123
|
[53, :TMED, "Media type", [:textenc, :text]],
|
120
|
-
[54, :TMOO, "Mood", [
|
124
|
+
[54, :TMOO, "Mood", []],
|
121
125
|
[55, :TOAL, "Original album/movie/show title", [:textenc, :text]],
|
122
126
|
[56, :TOFN, "Original filename", [:textenc, :text]],
|
123
127
|
[57, :TOLY, "Original lyricist(s)/text writer(s)", [:textenc, :text]],
|
@@ -129,19 +133,19 @@ module ID3Lib
|
|
129
133
|
[63, :TPE3, "Conductor/performer refinement", [:textenc, :text]],
|
130
134
|
[64, :TPE4, "Interpreted, remixed, or otherwise modified by", [:textenc, :text]],
|
131
135
|
[65, :TPOS, "Part of a set", [:textenc, :text]],
|
132
|
-
[66, :TPRO, "Produced notice", [
|
136
|
+
[66, :TPRO, "Produced notice", []],
|
133
137
|
[67, :TPUB, "Publisher", [:textenc, :text]],
|
134
138
|
[68, :TRCK, "Track number/Position in set", [:textenc, :text]],
|
135
139
|
[69, :TRDA, "Recording dates", [:textenc, :text]],
|
136
140
|
[70, :TRSN, "Internet radio station name", [:textenc, :text]],
|
137
141
|
[71, :TRSO, "Internet radio station owner", [:textenc, :text]],
|
138
142
|
[72, :TSIZ, "Size", [:textenc, :text]],
|
139
|
-
[73, :TSOA, "Album sort order", [
|
140
|
-
[74, :TSOP, "Performer sort order", [
|
141
|
-
[75, :TSOT, "Title sort order", [
|
143
|
+
[73, :TSOA, "Album sort order", []],
|
144
|
+
[74, :TSOP, "Performer sort order", []],
|
145
|
+
[75, :TSOT, "Title sort order", []],
|
142
146
|
[76, :TSRC, "ISRC (international standard recording code)", [:textenc, :text]],
|
143
147
|
[77, :TSSE, "Software/Hardware and settings used for encoding", [:textenc, :text]],
|
144
|
-
[78, :TSST, "Set subtitle", [
|
148
|
+
[78, :TSST, "Set subtitle", []],
|
145
149
|
[79, :TXXX, "User defined text information", [:textenc, :description, :text]],
|
146
150
|
[80, :TYER, "Year", [:textenc, :text]],
|
147
151
|
# Special frames again
|
@@ -149,15 +153,15 @@ module ID3Lib
|
|
149
153
|
[82, :USER, "Terms of use", [:textenc, :language, :text]],
|
150
154
|
[83, :USLT, "Unsynchronized lyric/text transcription", [:textenc, :language, :description, :text]],
|
151
155
|
# URL link frames
|
152
|
-
[84, :WCOM, "Commercial information", [:
|
153
|
-
[85, :WCOP, "Copyright/Legal infromation", [:
|
154
|
-
[86, :WOAF, "Official audio file webpage", [:
|
155
|
-
[87, :WOAR, "Official artist/performer webpage", [:
|
156
|
-
[88, :WOAS, "Official audio source webpage", [:
|
157
|
-
[89, :WORS, "Official internet radio station homepage", [:
|
158
|
-
[90, :WPAY, "Payment", [:
|
159
|
-
[91, :WPUB, "Official publisher webpage", [:
|
160
|
-
[92, :WXXX, "User defined URL link", [:textenc, :description, :url]]
|
156
|
+
[84, :WCOM, "Commercial information", [:url]],
|
157
|
+
[85, :WCOP, "Copyright/Legal infromation", [:url]],
|
158
|
+
[86, :WOAF, "Official audio file webpage", [:url]],
|
159
|
+
[87, :WOAR, "Official artist/performer webpage", [:url]],
|
160
|
+
[88, :WOAS, "Official audio source webpage", [:url]],
|
161
|
+
[89, :WORS, "Official internet radio station homepage", [:url]],
|
162
|
+
[90, :WPAY, "Payment", [:url]],
|
163
|
+
[91, :WPUB, "Official publisher webpage", [:url]],
|
164
|
+
[92, :WXXX, "User defined URL link", [:textenc, :description, :url]]
|
161
165
|
]
|
162
166
|
|
163
167
|
FramesByID = {
|
@@ -272,7 +276,7 @@ module ID3Lib
|
|
272
276
|
[12, :imageformat, "Image format field"],
|
273
277
|
[13, :mimetype, "Mimetype field"],
|
274
278
|
[14, :counter, "Counter field"],
|
275
|
-
[15, :
|
279
|
+
[15, :identifier, "Identifier/Symbol field"],
|
276
280
|
[16, :volumeadj, "Volume adjustment field"],
|
277
281
|
[17, :numbits, "Number of bits field"],
|
278
282
|
[18, :volchgright, "Volume chage on the right channel"],
|
@@ -299,7 +303,7 @@ module ID3Lib
|
|
299
303
|
:imageformat => Fields[12],
|
300
304
|
:mimetype => Fields[13],
|
301
305
|
:counter => Fields[14],
|
302
|
-
:
|
306
|
+
:identifier => Fields[15],
|
303
307
|
:volumeadj => Fields[16],
|
304
308
|
:numbits => Fields[17],
|
305
309
|
:volchgright => Fields[18],
|
data/lib/id3lib.rb
CHANGED
@@ -9,6 +9,7 @@ require 'id3lib/accessors'
|
|
9
9
|
# Have a look at ID3Lib::Tag for an introduction on how to use this library.
|
10
10
|
#
|
11
11
|
module ID3Lib
|
12
|
+
VERSION = '0.5.0'
|
12
13
|
|
13
14
|
# ID3 version 1. All V constants can be used with the methods
|
14
15
|
# new, update! or strip! of ID3Lib::Tag.
|
@@ -33,7 +34,7 @@ module ID3Lib
|
|
33
34
|
#
|
34
35
|
# === Example of use
|
35
36
|
#
|
36
|
-
# tag = ID3Lib::Tag.
|
37
|
+
# tag = ID3Lib::Tag.new('shy_boy.mp3')
|
37
38
|
#
|
38
39
|
# # Remove comments
|
39
40
|
# tag.delete_if{ |frame| frame[:id] == :COMM }
|
@@ -314,8 +315,8 @@ module ID3Lib
|
|
314
315
|
private
|
315
316
|
|
316
317
|
def read_frames
|
317
|
-
iterator = @tag.
|
318
|
-
while libframe =
|
318
|
+
iterator = @tag.create_iterator
|
319
|
+
while libframe = iterator.get_next
|
319
320
|
self << Frame.read(libframe)
|
320
321
|
end
|
321
322
|
end
|
@@ -332,6 +333,11 @@ module ID3Lib
|
|
332
333
|
|
333
334
|
info[FIELDS].each do |field_id|
|
334
335
|
libfield = field(libframe, field_id)
|
336
|
+
unless libfield
|
337
|
+
warn "id3lib-ruby: Invalid field #{field_id.inspect} in " \
|
338
|
+
"#{frame[:id].inspect}, please report this as a bug."
|
339
|
+
next
|
340
|
+
end
|
335
341
|
frame[field_id] =
|
336
342
|
case Info::FieldType[libfield.get_type]
|
337
343
|
when :integer
|
@@ -363,6 +369,7 @@ module ID3Lib
|
|
363
369
|
end
|
364
370
|
|
365
371
|
libfield = field(libframe, field_id)
|
372
|
+
next unless libfield
|
366
373
|
case Info::FieldType[libfield.get_type]
|
367
374
|
when :integer
|
368
375
|
libfield.set_integer(value)
|
data/test/test_writing.rb
CHANGED
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: id3lib-ruby
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2006-
|
6
|
+
version: 0.5.0
|
7
|
+
date: 2006-12-16 00:00:00 +01:00
|
8
8
|
summary: id3lib-ruby provides a Ruby interface to the id3lib C++ library for easily editing ID3 tags (v1 and v2) like with pyid3lib.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -44,8 +44,9 @@ files:
|
|
44
44
|
- setup.rb
|
45
45
|
- ext/mswin32/id3lib_api.so
|
46
46
|
- README
|
47
|
-
-
|
47
|
+
- INSTALL
|
48
48
|
- TODO
|
49
|
+
- CHANGES
|
49
50
|
test_files:
|
50
51
|
- test/test_unicode.rb
|
51
52
|
- test/test_writing.rb
|
@@ -57,8 +58,9 @@ rdoc_options:
|
|
57
58
|
- README
|
58
59
|
extra_rdoc_files:
|
59
60
|
- README
|
60
|
-
-
|
61
|
+
- INSTALL
|
61
62
|
- TODO
|
63
|
+
- CHANGES
|
62
64
|
executables: []
|
63
65
|
|
64
66
|
extensions: []
|