We are pleased to announce aruba
version 0.9.0. For a detailed list of changes, please have a look at our History.md
or use the diffing feature of Github.
Notable Changes
Add console
Now aruba
includes a console to play around with it's API. You can start the console by running aruba console
in your commandline.
Add documentation
Starting with 0.8.0
we added more and more documentation to aruba
- and more is about to come. We also decided to use our very own cucumber
-steps to document how to use aruba
.
Replace all "assert_"- and "check_"-methods by "RSpec"-matchers
With 0.9.0
all assert_*
- and check_*
-methods are replaced by "RSpec"-matchers internally and the old methods are labeled as deprecated. It's recommended to use our new matchers.
New "cucumber"-hooks
We added a new @announce-output
-hook which outputs both, STDERR
and STDOUT
.
New matchers
There are new RSpec
-matchers to check the output – STDOUT
, STDERR
or both – of a command.
Access to commands
Now you've got access to the last command started by using #last_command_started
. Additionally there's a #last_command_stopped
-method as well.
Logging with aruba
We added a logger to our API. It's available via #aruba.logger
.
Report file size and disk usage
Using #file_size
you can gather information about the size of a file. This works more or less similar to ls -al
on UNIX/Linux-operating systems. #disk_usage
reports the amount space allocated on the disk. Be aware, that the value of both methods is different for sparse files. The #disk_usage
is a UNIX-/Linux-only method. The methods used internally are not implemented by Ruby Core on Windows.
Split Up of "unescape"-methods
We decided to split up #unescape
into #extract_text
and #unescape_text
. The first method removes all ANSI escape sequences and the latter converts newlines and the like given as escaped strings into valid strings – '\n' → "\n".
Working around a Bug in JRuby
In JRuby <= 1.7.21 and 9.0.0 there's a bug which cause problems when we cleaned up the ENV
. We added a workaround for that.
Running commands
Now we make the process started via SpawnProcess
the leader of the group to kill all sub-processes more reliably.
Changes to options handling ANSI escape sequences
Please use aruba.config.remove_ansi_escape_sequences
or Aruba.configure { |config| config.remove_ansi_escape_sequences = <true|false> }
instead of ...keep_ansi
.
Known issues
Windows
There are still failing tests of our test suite on Windows. We're working on that.
Upcoming changes
Better documentation
We're going to improve our documentation. Starting with 0.10.0
or 0.11.0
you can expect to find our documentation on relish. So please stay tuned.
Extend "aruba" command
We're going to add some kind of initializer to the aruba
-command. aruba init
can be used to create all files needed to use aruba
within your project.