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.