Changes for version 0.01 - 2001-07-10
- original version; created by h2xs 1.20 with options -PAXn Inline-Ruby
Changes for version 0.01 - 2001-07-10
- adding in stubs and code based on Inline::Python. The .pm file will probably be almost identical. The XS code will be the real difference.
Changes for version 0.01 - 2001-12-09
- Checking unreleased Inline-Ruby distro into P4
Changes for version 0.01 - 2001-12-22
- Change all 'python' references to 'ruby' before doing a pre-release of Inline-Ruby-0.01
Changes for version 0.01 - 2001-12-24
- Inline::Ruby mostly working
- rb2pl() and pl2rb() data marshalling working
- rb_bind_function(), rb_bind_class() working
- next step is to automate the process using rb_study_package
Changes for version 0.01 - 2001-12-24
- Removed the 'package' parameter. It doesn't even work in Inline::Python that well. In Ruby we have a "flat" namespace anyway, so you just have to specify full names of functions.
Changes for version 0.01 - 2002-01-03
- First working test: 01basic.t
- No documentation
- Massive code cleanup in XS and C
Changes for version 0.01 - 2002-01-03
- RELEASE: Inline-Ruby-0.01-pre2
- do_rbinit() made much closer to what ruby itself does. Needed for things like the Tk extension -- it tries to find the executable, and causes a segfault on a NULL pointer.
- made tests 03 and 04 work.
- lots of documentation added (still not finished).
Changes for version 0.01 - 2002-01-05
- Incorporated a Makefile.PL fix by <jens@irs-net.com> to deal with libruby.so properly
Changes for version 0.01 - 2002-01-06
- More code cleaning. The XS portion of the code is much smaller, by moving lots of code into macros and static functions.
- Functions are now automatically bound to Perl.
- rb_call_function() now accepts an iterator argument, just like rb_call_*_method().
- Added a call to rb_rescue(), which "rescues" the interpreter from any uncaught exceptions. Currently prints out a warning and returns undef.
Changes for version 0.01 - 2002-01-07
- my_error_trap() now throws a Perl exception object which stringifies into the Ruby exception (so you can use $@ =~ /foo/), but which also accepts other method calls.
- can't trap Perl exceptions from Ruby yet.
Changes for version 0.01 - 2002-01-07
- added a method config_var($var), which will tell Perl whether the C #define $var is defined or not. Used the change the way the tests behave slightly, based on what's going to happen in XS.
- Added two new test files: a better iterator, and exception tests.
Changes for version 0.01 - 2002-01-08
- changed the iterator interface completely (but not yet the doc).
- added rb_iter() method to return an object which stores an iterator hook.
- methods can then be called upon the iterator object, and the iterator hook is passed to Ruby as a block.
- Basically, these two calls illustrate the difference between a regular method call, and a method call with an iterator: $o->method(@args); $o->iter(\&my_iterator)->method(@args);
- updated all the tests to use the new syntax.
Changes for version 0.01 - 2002-01-08
- Created a PerlException class to give Ruby information about Perl errors that occur within Perl subs or callbacks.
- Make sure that Inline::Ruby clears $@ if any call was successful. That's important -- if you can potentially set $@, you need to clear it if nothing's wrong.
- Added a test case to cover the new PerlException class.
- Added new Todo items.
Changes for version 0.01 - 2002-01-09
- Created a PerlProc class, which is like Ruby's Proc class: it wraps closures. Ruby Procs are not allowed to call 'yield', which means passing them blocks has no meaning. That makes them very useful for holding Perl closures.
- Added two new config parameters: REGEX(P) and BIND_TYPE(S). You can tell Inline::Ruby what types you want it to bind to: classes, modules, and functions being the choices. You can also provide a regular expression, which classes, modules, and function names must match.
- Added more tests to prove that those all work.
- Added a samples/tk/ directory, and wrote a simple Ruby Tk app to demonstrate the PerlProc class in action.
Changes for version 0.01 - 2002-01-12
- RELEASE: Inline-Ruby-0.01
- Use $Config{path_sep} for splitting $ENV{PATH} in Makefile.PL
- Exit with an error message if Ruby not found on the PATH.
- Remove eval_ruby().
- Add a '\n' to Inline::Ruby::Exception::to_str.
- Finished documentation.
- Added supporting #ifdefs for 5.005_03 support
Documentation
Write Perl subroutines and classes in Ruby.