I just released the gem package cursor-0.5 on rubyforge:

http://rubyforge.org/frs/download.php/4500/cursor-0.5.gem

If you've used the iterator (external iterator API) package, I
believe it has a superset of the functionality.  Here is the
description I have for the base class:

"An object in this Cursor class can be best thought of as a
cursor in a text editor. Many of the same operations apply -
insert, delete, replace, copy, paste, move, goto begin/end,
mark position, goto mark, etc. Unlike a text editor, this class
can operate on variety of data, not just characters and
strings. It is up to the derived classes to deal with what type
of data is stored (i.e. characters, arbitrary array objects)
and how it is stored (in an Array, String, IO, mapping to
another Cursor, etc)."

The is an initial release that focuses on the functionality and
tries to give a robust API (mimics stuff in IO, Array/String,
is Enumerable, is Rangable, is Comparable).  The derived
classes are minimally implemented and not very efficient (and
some cases terribly inefficient).

Sorry, no examples yet.  And testing was minimal.


		
__________________________________ 
Yahoo! Mail Mobile 
Take Yahoo! Mail with you! Check email on your mobile phone. 
http://mobile.yahoo.com/learn/mail