NAME
Badger::Changes - Summary of changes in the Badger toolkit
CHANGES
Version 0.06
Added copy_file() and move_file() to Badger::Filesystem and copy() and
move() methods to Badger::Filesystem::File.
Added chmod_path() to Badger::Filesystem and chmod() to
Badger::Filesystem::Path.
Added Bin() to Badger::Filesystem.
Added the encoding() method to Badger::Filesystem::File for specifying
the encoding of a file, along with the utf8(), bytes(), crlf() and raw()
methods for enabling different encoding layers.
Added Badger::Timestamp.
Added Badger::Logic.
Added Badger::Log and Badger::Log::File.
Added numlike() to Badger::Utils as an alias for "looks_like_number".
It's the numerical counterpart to textlike() and is significantly easier
to type.
Added debug_msg() to Badger::Base. Also added the "Badger::Base::Trial"
class definition for use with the try() method.
Added lib import hook to Badger.
Added bclass as an alias for class in Badger::Class.
Changed Badger::Class::Config to maintain the order of configuration
parameters where possible (i.e. when expressed as a list ref rather than
a hash ref). Also added "target:var" fallback which looks in the target
object or hash ref for the variable. This allows options to default to
the values set by preceeding options.
Changed Badger::Codec::JSON to use JSON::XS if available.
Mr T is now using Badger 0.06 in production code and is happy to report
that everything seems to be working rather well. Anyone for a game of
tennis?
Version 0.05 - 23rd December 2008
Refactored Badger::Factory.
Added support to Badger::Exporter for the "=" pseudo-sigil which can be
used to create constants on the fly.
package Badger::Example;
use Badger::Class
exports => {
tags => {
math => {
e => '=2.718',
pi => '=3.142',
phi => '=1.618',
},
}
};
package main;
use Badger::Example ':math';
print e; # 2.718
print pi; # 3.142
print phi; # 1.618
Mr T is starting to feel rather confident about building a production
system based on Badger v0.05.
Version 0.04 - 2nd December 2008
Added the throw_msg() method to Badger::Base.
Added init_method hook to Badger::Class and initialiaser() to
Badger::Class::Methods.
Changed Badger::Exception match_type() method to accept a list or hash
reference, or a string of whitespace delimited exception types.
Changed Badger::Factory to pass $name as an argument to various methods.
Also passes arguments to load() (required for Template::TT2::Plugins)
Also modified item() to accept a non-textlike type argument which
bypasses the module lookup.
Moved a whole bunch of stuff out of Badger::Class into
"Badger::Class::*" modules.
Added Badger::Class::Config for simple configuration.
Added hash() method to Badger::Methods and hash_methods hook to
Badger::Class.
Added trace() hook and related paraphernalia to Badger::Exception. Added
the "-t" / "--trace" command line options to Badger::Test to enable it
when running tests. Also added "-h" / "--help" options.
Added Codec() exportable subroutine to Badger::Codecs.
Added Badger::Codec::URL. It's similar to Badger::Codec::URI, but
slightly different. See the TT uri/url filters for the reason.
Changed the prototype() method in Badger::Prototype to accept a single
"undef" value to clear any current prototype. Also added the
has_prototype() method.
Mr T is looking on the bright side about the possibility of building a
production system based on Badger v0.04, but still advises caution.
Version 0.03 - 7th October 2008
Added delegate loaders to Badger. This provides some semantic sugar for
loading a bunch of different "Badger::*" modules in one go.
use Badger
Filesystem => 'FS $Bin',
Codecs => 'storable base64',
Debug => {
modules => 'My::Module',
};
Added different() to Badger::Test::Manager.
Added textlike() to Badger::Utils
Added the overload as_text and is_true import hooks and related method
to Badger::Class. These delegate to the "overload" module.
Added the print method to Badger::Filesystem::File.
Added support for dynamic root directories to
Badger::Filesystem::Virtual.
Added the defaults and aliases hooks to Badger::Class, implemented by
Badger::Class::Defaults and Badger::Class::Aliases, respectively. There
are still experimental.
Fixed up some stat handling in Badger::Filesystem to help with
subclassing in Badger::Filesystem::Virtual
Mr T pities the fool that attempts to builds a production system based
on Badger version 0.03 without first evaluating it carefully and reading
the documentation.
Version 0.02 - 6th September 2008
Badger::Class got the vars method and hook for declaring and defining
variables.
Badger::Utils gained the ability to load and export functions from
Scalar::Util, List::Util, List::MoreUtils, Hash::Util and Digest::MD5.
Various documentation updates.
Mr T admires the tenacity of anyone attempting to build a production
system based on Badger v0.02 and hopes they have a thorough test suite.
Version 0.01 - 27th August 2008
This was the first release version.
Mr T pities the fool who builds a production system based on Badger
v0.01.
AUTHOR
Andy Wardley <abw@wardley.org>
COPYRIGHT
Copyright (C) 2008 Andy Wardley. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.