L
Lothar Scholz
Hello ,
at the moment i'm working on RI and RDOC integration into the
Arachno Ruby IDE. Unforunately - but not suprising - i found an
important problems.
Starting with another problem: Is the RDOC source code really
unmaintained at the moment, as i read on the ruby-core mailing
list ? I know Dave Thomas is writting his rails but such an
important piece of the Ruby environment should be maintained
by multiple persons.
The main conceptional problem behind RI is that it is just a trivial
flat file "database" without any way to remove items from this "database"
and without (almost) any relation between individual data files.
This is bad and IMHO one of the reasons why Ruby Gems do install RDOC
but not RI help on default. When using Ruby Gems we need a way to cleanup the
RI database for removed gems. Also if during development you generate RI doc
then you will soon find a lot of garbage in your RI database during the evolution
(renaming/removing of methods and classes) of your project.
Deleting everything and regenerating the Database is not easily possible as
many people use the one click installer and don't have the source code.
By the way this would not be a problem is Curt Hibbs fixes the RI problem that
everything is placed in the "site" part of the RI database directory tree.
The RI for the core and core extensions help belongs into the "system" directory.
Also the RI help in the one click installer is not complete. If FOX is bundled
for example then the RI files for Fox should also be available immediately. Same
for all the bundled libraries that come with 1.8 as REXML, DBI etc.
I think that code must be added to keep track of named sets of added files
instead of simply invoking "rdoc --ri-site" or "rdoc --ri-system". This
shouldn't be so hard and allows us to remove the data for one gems package/directory.
I would prefer a more complete solution that uses SQLite as a database but as long
as this is not bundled with ruby (BTW why isn't it ?) it is not an option.
I don't want to write more here until i get some feedback.
at the moment i'm working on RI and RDOC integration into the
Arachno Ruby IDE. Unforunately - but not suprising - i found an
important problems.
Starting with another problem: Is the RDOC source code really
unmaintained at the moment, as i read on the ruby-core mailing
list ? I know Dave Thomas is writting his rails but such an
important piece of the Ruby environment should be maintained
by multiple persons.
The main conceptional problem behind RI is that it is just a trivial
flat file "database" without any way to remove items from this "database"
and without (almost) any relation between individual data files.
This is bad and IMHO one of the reasons why Ruby Gems do install RDOC
but not RI help on default. When using Ruby Gems we need a way to cleanup the
RI database for removed gems. Also if during development you generate RI doc
then you will soon find a lot of garbage in your RI database during the evolution
(renaming/removing of methods and classes) of your project.
Deleting everything and regenerating the Database is not easily possible as
many people use the one click installer and don't have the source code.
By the way this would not be a problem is Curt Hibbs fixes the RI problem that
everything is placed in the "site" part of the RI database directory tree.
The RI for the core and core extensions help belongs into the "system" directory.
Also the RI help in the one click installer is not complete. If FOX is bundled
for example then the RI files for Fox should also be available immediately. Same
for all the bundled libraries that come with 1.8 as REXML, DBI etc.
I think that code must be added to keep track of named sets of added files
instead of simply invoking "rdoc --ri-site" or "rdoc --ri-system". This
shouldn't be so hard and allows us to remove the data for one gems package/directory.
I would prefer a more complete solution that uses SQLite as a database but as long
as this is not bundled with ruby (BTW why isn't it ?) it is not an option.
I don't want to write more here until i get some feedback.