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.

Provides

in Ruby.pm