Badger
view release on metacpan or search on metacpan
Version 0.07 - 2nd January 2012
Added Badger::Storage, Badger::Storage::Memory. and
Badger::Storage::Filesystem.
Added Badger::Codec::TT.
Added the permissions() method to Badger::Filesystem::Path. Added
temp_directory() and temp_file() methods to Badger::Filesystem. Also
changed the Path(), File() and Dir() functions to short-circuit and
return if passed a single object that is already of the expected type.
Added some extra comparison methods to Badger::Timestamp (not_equal(),
(not_before() and not_after()) and overloaded these and other methods
onto the "==", "!=", "<", ">", "<=" and ">=" operators.
Added the export_before() and export_after() methods to
Badger::Exporter.
Added the if_env import hook and "-a|Badger::Test/all()" option to
Badger::Test to make it easier to define tests that don't get run unless
a particular environment variable is set (e.g. for Pod coverage/kwalitee
tests that you only want to run if either of the "RELEASE_TESTING" or
"AUTOMATED_TESTING" environment variables is set).
Added the random_name(), camel_case() and permute_fragments() functions
to Badger::Utils. Also add some extra debugging code to params() and
self_params() to catch any attempt to pass an odd number of arguments.
Changed the Badger::Factory module to use permute_fragments() on the
module path when specified as a single string. Also added the default()
and names() methods along with their corresponding package variable
magic.
Added the debug_callers(), debugf() and debug_at() methods to
Badger::Debug.
Added the alias() method to Badger::Class.
Added the auto_can() method to Badger::Class::Methods.
Changed the Badger::Class::Config module to store the configuration
scheme in $CONFIG_SCHEMA instead of $CONFIG.
Added the Badger::Codec::HTML module which defines the "html" codec.
Changed the throw() method in Badger::Base to pass the exception type to
exception().
Changed the try() method in Badger::Base to preserve the list/scalar
calling context and to handle false but defined values.
Cleaned up and generalised the Badger::Hub module. The Badger-specific
data has now been moved into Badger::Hub::Badger. The "configure()"
method is now called construct().
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 the codec() method to Badger::Filesystem::File for specifying a
serialisation codec to use in conjunction with the new data() method.
Added Badger::Timestamp. This is returned by the new created(),
accessed() and modified() methods in Badger::Filesystem::Path.
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;
( run in 2.213 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )