Rework structure slightly.
What was P4.so is now called
P4api.so and a new P4.rb module is added. P4api.so
contains the raw bridge to the Perforce API whilst P4.rb
contains extensions to it written purely in Ruby. Both
define and extend the P4 class and P4.rb requires P4api.so
so user code is unaffected.
The intent is to give me a place to write Ruby code rather
than having to work solely in C++.
The first method added using this new structure is
P4#method_missing, so now Perforce commands all appear as
methods on the P4 object (prefixed by "run_" ). e.g
This change also adds support for shortcut methods for
form editing. fetch* and save* methods have been added as
shortcuts for "p4 <cmd> -o" and "p4 <cmd> -i" respectively.
For example:
Note that unlike the run* methods, these accessor methods
do not return an array, but return a single result - a string
normally, or a hash in parse_forms mode.
Ruby's arcane build/install system means that you have to
install the P4.rb file yourself. "make install" doesn't
take care of it.