Revision history for Perl module Module::Generic
v0.30.4 2023-05-25T04:12:20+0900
- Corrected a small bug in unit test 22.parse_timestamp.t when module DateTime::Format::JP is not installed
v0.30.3 2023-05-23T17:56:46+0900
- Minor bug correction in support method _set_get_callback in Module::Generic
v0.30.2 2023-05-16T21:33:10+0900
- Corrected a small bug in unload_json() in Module::Generic when JSON option utf8 was provided in overlap with the binmode also set to utf8, thus yielding mojibake.
v0.30.1 2023-05-14T21:44:27+0900
- Corrected small bug in support function _set_get_number
- Improved the code of some support functions
v0.30.0 2023-05-14T08:35:33+0900
- Changes to inner working of several support functions to better support lvalue methods
v0.29.6 2023-03-12T06:55:19+0900
- Minor improvements in Module::Generic::Scalar by adding Regexp::Common as a regexp class on top of perl's Regexp
- Improved the helper method _set_get_object and corrected _set_get_object_without_init
- Added the 'code' option to method 'pass_error' in Module::Generic
- Support method '_can' in Module::Generic now also accepts an array of methods to check
- Added _is_warnings_enabled as an alias to _warnings_is_enabled in Module::Generic
- Improved Module::Generic::Hash json method to allow for more options
- Added method _set_get_callback as an lvalue support method
- Aliased _lvalue to _set_get_callback
v0.29.5 2023-02-25T13:51:43+0900
- Minor improvement in Module::Generic::File in unload_json()
v0.29.4 2023-01-11T06:39:03+0900
- Minor improvement in Module::Generic::Exception
- Minor improvement in baseinfo()
v0.29.3 2022-12-18T13:03:04+0900
- Correcting unit test for Module::Generic::Number
v0.29.2 2022-12-11T14:00:48+0900
- Correcting oversight when dealing with undefined, but necessary property values in Module::Generic::Number
v0.29.1 2022-12-09T19:30:04+0900
- Improvement of method _set_get_hash_as_mix_object in Module::Generic
v0.29.0 2022-12-07T11:51:47+0900
- Mitigation around the use of Scalar::Util::reftype that returns undef for false, which in turn yields a perl warning of 'uninitialized value' when used in string comparison such as: Scalar::Util::reftype( $this ) eq 'ARRAY'
- Corrected resolve() in Module::Generic::File to default $max_recursion to 0 if undefined.
- Improved a bit Module::Generic::Number by caching number regular expression
- Improved Module::Generic::SharedMem and Module::Generic::SharedMemXS
- New method new_version() and _set_get_version in Module::Generic
- Corrected a missing requirement in method _set_get_array_as_object() in Module::Generic
- Updated how one can end a loop in for() and foreach() in Module::Generic::Array
- Added missing method is_decimal in Module::Generic::Number
- Reworked parts of Module::Generic::Number and integrating some codes from Number::Format
- Removed dependency on Number::Format
- Updated clone() in Module::Generic to deal with cases when called as a class function: MyClass->clone()
- Added is_empty method to Module::Generic::Number
- Updated _set_get_number() in Module::Generic to take n hash of options instead of field name and accept undef value
- Improved error reporting upon object instantiation in Module::Generic::Number
v0.28.5 2022-10-30T19:51:48+0900
- Minor correction in Module::Generic::Array
- Added methods finddepth, flock and readdir to Module::Generic::File
- Added rmtree as exportable function in Module::Generic::File
- Added the option to fdopen a file descriptor in constructor new() in Module::Generic::File::IO
- Added the exportable function wraphandle in Module::Generic::File::IO
- Minor correction to AUTOLOAD
- Improvement for method length() in Module::Generic::Scalar when the underlying scalar is undef
- Improved _datetime in Module::Generic::Finfo
- Improved methods _parse_datetime() and _set_get_datetime() in Module::Generic
- Improved methods op() and op_minus_plus() in Module::Generic::DateTime
- Added 'lock' parameter to method unload in Module::Generic::File
- Improved 'auto_remove' property during init
- Improvement of documentation in Module::Generic::DateTime, Module::Generic::File::IO and Module::Generic::File::Mmap
- Minor improvements to Module::Generic::SharedMem
v0.28.4 2022-09-27T18:38:27+0900
- Added method can_exec() in Module::Generic::File
- Improved method remove() in Module::Generic::File::Cache
- Improved Module::Generic::Array with cleanup upon object destruction
- Improved unload_json() in Module::Generic::File to allow any JSON supported options.
- Added methods load_perl() and unload_perl() in Module::Generic::File
v0.28.3 2022-09-25T17:03:10+0900
- Added method unchomp to Module::Generic::Array
- Better sanity check on the file cache directory in method 'open' in module Module::Generic::File::Cache
- Added method close as an alias to 'remove' in Module::Generic::SharedMemXS
- Added the tmpdir() parameter for new() and related method in Module::Generic::File::Cache
- Improved method remove() in Module::Generic::File::Cache to remove the cache directory if it is empty.
- Improved the method is_empty() in Module::Generic::File
v0.28.2 2022-09-18T21:18:30+0900
- Corrected missing module in _parse_timestamp and parameters to DateTime::Format::Strptime
v0.28.1 2022-08-30T06:16:26+0900
- Corrected missing POSIX module use (#4 thanks to Nicholas R.)
v0.28.0 2022-08-29T17:13:47+0900
- Added support in serialise() and deserialise() for CBOR::Free
- Improved support check in Module::Generic::SharedMem
- Improved unit tests
v0.27.2 2022-08-07T17:36:42+0900
- Corrected deserialiser(9 in Module::Generic, which wrongly was requiring Crypt::Misc (a leftover from previous modifications made).
v0.27.1 2022-08-05T07:38:11+0900
- Correcting a debugging leftover in test unit.
- Updating modules FREEZE method reflecting the latest documented change of Sereal::Encoder
- Added support for JSON in methods serialise and deserialise in Module::Generic
v0.27.0 2022-08-01T12:12:43+0900
- Added missing reset() method in Module::Generic::File::Mmap
- Improved write method in Module::Generic::File::Cache, Module::Generic::File::Mmap and Module::Generic::SharedMem
- Added alias method is_directory in Module::Generic::File
- Added options crypt_base64 and base64 to methods serialise and deserialise in Module::Generic
- Added the module Module::Generic::SharedMemXS
v0.26.0 2022-07-28T11:47:10+0900
- Correcting mistake in test unit 17.serialise_storable.t, 18.serialise_sereal.t and 19.serialise_cbor.t
- Implemented new module Module::Generic::File::Mmap using Cache::FastMmap
- Updated documentation for Module::Generic::File::Cache and Module::Generic::SharedMem
v0.25.0 2022-07-18T00:44:48+0900
- Implemented support for CBOR, Sereal and Storable with STORABLE_freeze and STORABLE_thaw in all modules
- Changed serialise() and deserialise() to now use Storable::Improved instead of Storable, as Storable poorly handles GLOB objects and XS objects and ignores the return value from STORABLE_thaw().
- Change dependency from Storable to Storable::Improved for better support for GLOB and XS modules objects
- Added support for CBOR and Sereal when serialising shared data
v0.24.3 2022-07-15T15:07:18+0900
- Improved checking shared memory support
v0.24.2 2022-06-28T14:12:48+0900
- Corrected a missing condition in_set_get_code to return a dummy anonymous sub in object context
v0.24.1 2022-06-24T07:36:36+0900
- Added the extensions method in Module::Generic::File
- Improved _set_get_code method in Module::Generic
- Improved pass_error to throw an error when fatal is enabled
- Improved _is_integer in Module::Generic
v0.24.0 2022-04-28T06:55:11+0900
- Corrected minor bug in _filehandle_method() in Module::Generic::File
- Implemented mitigation for URI module who removes any leading and/or trailing space in the path
- Made substantial improvements to glob() in Module::Generic::File
- Added value_name and value_data in Module::Generic::HeaderValue
- Spun off the package Module::Generic::Scalar::IO into its own file and heavily modified it, getting rid of IO::Scalar
- Optimised Module::Generic to remove unnecessary modules and only load them when required
- Added method has_valid_name() in Module::Generic::File
- Added module Module::Generic::File::IO to provide a uniform and exception safe interface to IO::File
- Modified tempfile() in Module::Generic::File to accept an extension with or without leading dot.
- Added method _load_classes to Module::Generic
- Changed read() in Module::Generic::File so that it accept the as_object option to return an object instead of a string.
- Added method except() in Module::Generic::Array
- Corrected _parse_timestamp for a date patter that is for GMT and ensures the format set has GMT time zone.
- Improved the support method _warnings_is_enabled to check if class is even registered
- Corrected mishandling of IO layer when opening scalar with Module::Generic::Scalar::IO
- Improved _get_args_as_hash in Module::Generic to allow parameters to be mixed with other arguments
v0.23.1 2022-03-28T11:18:17+0900
- Added method _set_get_glob in Module::Generic
- Corrected a small bug in Module::Generic::Dynamic
- Corrected a small bug in method content() in Module::Generic::File
- Added method chown in Module::Generic::File
- Added method datetime in Module::Generic::DateTime
- Made a minor correction in chmod when reporting the mode upon error
- Changed autoload of methods in Module::Generic
- Updated the methods append and prepend in Module::Generic::Scalar to also accept sa calar reference or object
- Changed return value for _set_get_scalar_as_object to the object when the context is object
- Corrected a minor bug in pass_error in Module::Generic
- Minor improvement on when a directory was removed while perl was running affecting _uri_file_cwd() in Module::Generic::File
v0.23.0 2022-03-27T20:30:48+0900
- Minor improvement in _parse_timestamp
- Implemented inline autoloading of some subroutines
v0.22.1 2022-03-21T15:39:24+0900
- Corrected shared memory unit test
v0.22.0 2022-03-18T14:57:40+0900
- Corrected a minor bug in can_write() in Module::Generic::File
- Added module Module::Generic::File::Cache to provide a file-base caching mechanism across processes
- Updated _set_get_object and _set_get_object_without_init in Module::Generic to accept an array of classes
- Updated method deserialise to check if data in file was serialise with Storable::store or Storable::freeze
v0.21.12 2022-03-11T21:41:04+0900
- Added the 'skip' parameter to find() in Module::Generic::File
- Added the 'glob' parameter to resolve() in Module::Generic::File
- Added the 'globbing' parameter to new() in Module::Generic::File
- Added the $GLOBBING in Module::Generic::File
- Added the glob() method in Module::Generic::File
- Made minor improvements to Module::Generic::SharedMem
- Added serialise/serialize and deserialise/deserialize to Module::Generic
v0.21.11 2022-03-10T23:50:16+0900
- Correction of a minor, but annoying bug in Module::Generic::Array with $TRUE and $FALSE not properly set.
v0.21.10 2022-03-10T17:25:56+0900
- Correction to unit test with DateTime and system missing components
v0.21.9 2022-03-09T17:37:34+0900
- Improvements with Module::Generic::SharedMem encoding and decoding of JSON data
v0.21.8 2022-03-08T14:47:21+0900
- Corrected a minor bug in resolve() whereby 'base_dir' was not taken under account
- Updated documentation in Module::Generic::DateTime and added new documentation for Module::Generic::DateTime::Interval
- Allowed Module::Generic::DateTime to instantiate a default DateTime object when provided no argument
- Updated method _datetime in Module::Generic::Finfo, and _parse_timestamp and _set_get_datetime in Module::Generic to trap issues DateTime::TimeZone::Local exceptions triggered when system lacks proper time zone components.
v0.21.7 2022-03-06T16:50:58+0900
- Added methods load_json and unlaod_json in Module::Generic::File and new_json in Module::Generic
- Added methods checksum_md5, checksum_256 and checksum512 in Module::Generic::File
v0.21.6 2022-03-06T13:10:02+0900
- Corrected DateTime version requirement to avoid "Cannot determine local time zone" error
v0.21.5 2022-03-05T16:40:09+0900
- Removing a unit test
v0.21.4 2022-03-05T14:23:20+0900
- Updated Module::Generic::Number
- Made Class::* modules separate
v0.21.3 2022-02-28T07:14:12+0900
- Resubmission due to error on CPAN
v0.21.2 2022-02-27T23:52:10+0900
- Resubmission after transfer from Dan Kogai of Class::Array and Class::Scalar
v0.21.1 2022-02-27T22:34:58+0900
- Resubmission due to error
v0.21.0 2022-02-27T17:18:25+0900
- Improved code and removed warnings
- Added modules Class, Class::Array, Class::Boolean, Class::Exception, Class::File, Class::Finfo, Class::Hash, Class::Null, Class::Class::Number, Class::Scalar
v0.20.0 2022-01-17T05:17:16+0900
- Corrected small time lag in test unit 08.datetime.t
- Add class functions stdin, stdout and stderr to Module::Generic::File
- Corrected a bug in Module::Generic::File
v0.19.0 2022-12-23T14:04:47+0900
- Added method mkdir in Module::Generic::File for a simpler way to create a directory than mkpath
- Minor change to _move_or_copy() in Module::Generic::File
- Added callback method to Module::Generic::Array to control, accept or reject insertion or deletion
- Added callback method to Module::Generic::Scalar to control, accept or reject addition or removal
- Added method _set_get_object_lvalue in Module::Generic to allow setting object in lvalue context
- Added method error in Module::Generic::Array
- Added method _lvalue as a generic lvalue method to Module::Generic
- Added method filter to Module::Generic::Array
v0.18.4 2021-12-17T09:10:36+0900
- Updated _parse_timestamp to handle unix timestamp provided by Time::HiRes, i.e with a decimal
- Small correction in _obj2h in Module::Generic
- Added method _is_integer in Module::Generic
- Modified exists in Module::Generic::Array to take under account objects.
v0.18.3 2021-12-14T12:44:31+0900
- Added method replace in Module::Generic::Array
- Added methods is_empty and remove in Module::Generic::Hash
- Changed Module::Generic::SharedMem default encoding tool to JSON instead of Storable
v0.18.2 2021-12-08T15:27:47+0900
- Correction in Number::Format when default locale is C or POSIX
v0.18.1 2021-12-07T21:24:28+0900
- Resubmission
v0.18.0 2021-12-04T11:13:15+0900
- Correction in baseinfo() in Module::Generic::File
- Minor improvement in helper method _is_a in Module::Generic
- Added the standard PROPAGATE method in Module::Generic::Exeption
- Added the support for global variable FATAL_ERROR to trigger fatal error
- Implemented virtualisation in Module::Generic::File. See documentation
- Improved error() in Module::Generic to allow the use of "class" parameter
- Added method aliases append() and prepend() in Module::Generic::Array
- Implemented lvalue support for many support methods in Module::Generic
- Added test units to better test Module::Generic
- Improved Module::Generic::Number, lightening new()
- Corrected a bug in as_String in Module::Generic::HeaderValue
- Module::Generic::HeaderValue returns a boolean rather than the string in boolean context
v0.17.3 2021-11-22T11:14:35+0900
- Minor correction in Module::Generic removing the INIT block
v0.17.2 2021-11-16T12:20:03+0900
- Minor improvement to _parse_timestamp in Module::Generic
v0.17.1 2021-11-15T11:55:16+0900
- Minor correction in Module::Generic in _parse_timestamp
- Fine tuning of the module versions requirements
v0.17.0 2021-11-05T20:40:13+0900
- Updated Module::Generic::Hash, adding alias method size() pointing to length()
- Added class Module::Generic::HeaderValue
- Added shortcut methods device, inode, mode, nlink, uid, gid, rdev, atime, mtime, ctime, block_size, blocks, last_accessed and last_modified in package Module::Generic::File
- Added method utime in package Module::Generic::File
- Added method line in package Module::Generic::Scalar::IO
v0.16.5 2021-10-24T12:10:52+0900
- Corrected Module::Generic::SharedMem read() method to not decode if buffer is empty
v0.16.4 2021-10-22T15:51:20+0900
- Correcting an oversight in Module::Generic (module Devel::Confess was required for debugging but not removed later)
v0.16.3 2021-10-21T12:17:58+0900
- Improved mmap method in Module::Generic::File
v0.16.2 2021-10-15T16:10:14+0900
- Improved mmap method in Module::Generic::File
v0.16.1 2021-10-12T22:46:58+0900
- Added methods blocking, eof, fcntl, fdopen, flush, format_write, getc, getline, getlines, ioctl, printflush, sync, sysread, sysseek, syswrite, ungetc and content_objects in Module::Generic::File
- Corrected test units for Module::Generif::File
v0.16.0 2021-10-11T13:51:57+0900
- Tuned _set_get_datetime method to only set a default DateTime formatter when none were already set yet
- Added support method _set_get_uuid to store universal unique identifier with data validation
- Added method as_json in Module::Generic::Hash to return a json string representation of the hash object
- Added method _can in Module::Generic to quickly check if a given object has support for a given method
- Corrected an error check in Module::Generic::SharedMem for method lock()
- Added methods get_null in Module::Generic::Array to get a Module::Generic::Null object when offset value is undef
- Added methods second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth
- Made a slight adjustment in Module::Generic::Null so that the parameter value for 'wants' can be specified in lowercase and updated the documentation
- Added method _is_ip to check IPv4 and IPv6 syntax, including with CIDR notation in Module::Generic
- Added method _set_get_ip and _is_uuid to check syntax of UUID
- Improved Module::Generic::Dynamic
- Added method as_hash in Module::Generic::Hash to get the hash object as a regular hash reference
- Improved method _is_class_loaded to more simply check at the %INC rather than rely on external module
- Improved method _load_class to allow for passing semantics to import and provided an hash reference of options such as package version and caller's package to import the module into.
- Added missing TO_JSON method in Module::Generic::Exception and Module::Generic::Number
- Updated _set_get_uri in Module::Generic to initiate a URI object if value is available and not yet an object.
- Added method aliases lower and upper in Module::Generic::Scalar
- Added methods pack and unpack in Module::Generic::Scalar
- Added method pack in Module::Generic::Array
- Modified Module::Generic::Array new method to accept also a list of elements.
- Updated the method join in Module::Generic::Array to allow passing additional arguments on top of the current array object: $a->join( ',', $more_data );
- Updated method replace in Module::Generic::Scalar to return a special Module::Generic::RegexpCapture object
- Added method dump_hex() which uses Devel::Hexdump if it is installed
- Updated the method new() in Module::Generic so that a possible error be propagated to its calling object when called from object like my $new = $old->new || die( $old->error );
- Updated AUTOLOAD to pass $self as first argument if defined
- Updated _set_get_object_array in Module::Generic to allow any non-blessed value to be passed for object instantiation, instead of hash reference previously.
- Added the methods intersection, max, min in Module::Generic::Array
- Added a destruction mechanism in the END block in Module::Generic::File for file or directory set to be auto removed
- Updated method autoflush in Module::Generic::File to affect the underlying file handle with the value provided. Before, it was just storing the boolean value.
- Added methods mmap and unmap in Module::Generic::File to use file-based variable that can be shared across processes
v0.15.8 2021-08-21T14:13:52+0900
- Corrected an overlooked warning in Module::Generic::Array->split
v0.15.7 2021-08-20T18:14:07+0900
- Added support method _get_stack_trace in Module::Generic
- Updated method init to not issue any warning when a package method returns undef when passing undef value to those methods in Module::Generic. Normally a method returning undef is a sign of an error having occurred.
- Updated the test units for Module::Generic::SharedMem
- Improved documentation for Module::Generic::Array
v0.15.6 2021-08-18T09:44:08+0900
- Updated documentation for Module::Generic::Scalar (lc, lcfirst, uc, ucfirst)
- Updated the test unit for shared memory to better handle platform not supporting IPC SysV
v0.15.5 2021-07-26T12:54:23+0900
- Corrected mistake with module name Module::Generic::DateTime
- Added alias makpath() to mkpath() in Module::Generic::File
- Added alias absolute() to abs() in Module::Generic::File
v0.15.4 2021-06-29T18:34:17+0900
- Added methods join and split in Module::Generic::File
- Changed method extension which can now take a new value and then return a new file object
- Added method fragments to Module::Generic::File
- Added helper method _is_number in Module::Generic
v0.15.3 2021-06-26T14:31:27+0900
- Improvement for Module::Generic::File for method load
- Switched Module::Generic::SharedMem to use json xs module by default as data packing mechanism, but with the choice left to the user between JSON and Storable
- Corrected a bug in Module::Generic::File in method tmpfile that, due to errors in parameters, inadvertently, was creating also temporary directories
- Corrected a bug in rmtree whereby the directory itself was not removed. Added the option "keep_root" to decide whether to keep it or not.
v0.15.2 2021-06-26T06:06:16+0900
- Added missing documentation for Module::Generic::File
- Improved documentation for Module::Generic
v0.15.1 2021-06-20T10:19:58+0900
- Resubmission due to bundling error
v0.15.0 2021-04-18T12:05:35+0900
- Corrected a minor bug in Module::Generic::Dynamic, ignoring now fields that do not contain any valid chracter to become a method
- Added method as_array(), offset() and merge() in Module::Generic::Array
- Added method empty() in Module::Generic::Array as an alias to reset()
- Added methods as_array(), as_number(), join() and prepend() in Module::Generic::Scalar
- Added method as_array(), as_scalar() in Module::Generic::Number
- Added method as_array() and as_scalar() in Module::Generic::Boolean
- Added support for changing the offset position in a for loop in Module::Generic::Array by returning a scalar reference of an integer
- Added the return method in Module::Generic::Array to end embedded loops.
- Added methods even, odd, remove and unique (based on List::Util::uniq) in Module::Generic::Array
- Added TO_JSON to Module::Generic::Array, Module::Generic::Hash and Module::Generic::Scalar to allow its object to be encoded with JSON. You still need to set the convert_blessed JSON property to true though: my $j = JSON->new->convert_blessed;
- In Module::Generic::Array, the following methods have been changed to return a Module::Generic::Scalar object in object context and if the value retrieved from the array is not a reference of any sort: first, get, index, last, pop, shift. The splice method has been modified to return a new Module::Generic::Array object in object context when only an offset and length, or just an offset was provided.
- Added support method _is_class_loadable in Module::Generic to check if a module can be loaded without loading it
- Added support method _get_args_as_array in Module::Generic
- Corrected an obscure bug in clone() when using Want.
- Added method new_null in Module::Generic
- Added modules Module::Generic::File and Module::Generic::Finfo to deal with files
- Added inline class Module::Generic::Scalar::IO that inherits from IO::Scalar and enables to print to scalar
- Added module Module::Generic::SharedMem for easy-to-use shared memory interface
v0.14.2 2021-04-03T17:22:00+0900
- Corrected a bug in _set_get_scalar_as_object to accept overloaded objects that implement stringification
- Corrected a bug in _set_get_hash
v0.14.1 2021-03-31T14:50:43+0900
- Correcting a test unit in datetime and upgrading version numbers for sub modules
v0.14.0 2021-03-20T21:43:18+0900
- Added Module::Generic::Datetime and split inline modules to their own files
- Added method _get_args_as_hash to get methods parameters as hash reference whether they were provided initially as such or not
v0.13.6 2021-02-14T13:01:16+0900
- Improved test unit for cygwin not supporting crypt
v0.13.5 2021-02-06T11:46:18+0900
- Corrected a mising require for DateTime::Format::Strptime
- Improved the _warnings_is_enabled helper method
v0.13.4 2021-01-25T18:47:55+0900
- Moved the requirement on Apache module to the BEGIN block as it should.
v0.13.3 2020-12-08T11:12:15+0900
- Removed method message_switch
- Added method _set_get_object_without_init for object that cannot just simply be initiated without specific parameters, such as Apache2::RequestRec.
v0.13.2 2020-11-20T22:14:54+0900
- Corrected method _set_get_class_array when testing if data received are an array
- Added parameter alias 'package' to parameter 'class' in _set_get_class
- Added data type alias in _set_get_class for convenience.
- Corrected pass_error to create an error object when it is passed a string rather than an error object.
- Expanded method _parse_timestamp to include keyword 'now', relative timestamp and unix timestamp.
v0.13.1 2020-09-20T08:12:16+0900
- Updated the error method to accept and use an Exception object as parameter
- Updated the method throw in Module::Generic::Exception to either take a string and instantiate a new exception object or use the current one.
- Improved the error() method to better report from the start of the call stack, excluding internal package and better handling exception object
- Added "prefix" option in method Module::Generic::message to specify something else than "##" when displaying debugging message.
- Updated clear_error to return $self instead of just 1 and allow chaining
- Improved message_switch to avoid replacing existing message method
- Modified __create_class that was missing the handling of object_array_object type of method.
- Modified as_hash so that DateTime object are converted to string
v0.13.0 2020-07-10T10:30:10+0900
- Added alias method _set_get_number_as_object for convenience and pointing to _set_get_number
- Added the method append in Module::Generic::Scalar
- Added an iterator class with Module::Generic::Iterator and Module::Generic::Iterator::Element
- Added methods index, iterator and pos in Module::Generic::Array
- Improved documentation for Module::Generic::Array
- Corrected 2 typos in pod for Module::Generic::Scalar
- Added method _set_get_lvalue to make it easy to implement object oriented lvalue methods
- Changed the _set_get_number so that now it can also be accesed as lvalue
- Added method is_even and is_odd to Module::Generic::Number
- Added helper method _to_array_object to make it easy to create array object out of any parameters
- Added method "has" as an alias to method "exists" to Module::Generic::Array and Module::Generic::Hash
- dump now() uses Data::Dump instead of Data::Printer that offers a cleaner output
- Added method map() map_array and map_hash in Module::Generic::Hash
- Modified method as_hash in Module::Generic::Array to take an optional hash reference of options
- Module::Generic::Hash object can now be instantiated with no hash provided. Before it required an hash reference to be provided to instantiate the object.
- corrected methods map_array() and map_hash() in Module::Generic::Hash
- Updated _set_get_url to better capture all kinds of url
v0.12.16 2020-06-17T15:03:17+0900
- Added the helper method _is_a to simplify the check for object class
- Added method get() and list() in Module::Generic::Array
- Added method tr in Module::Generic::Scalar
- Corrected error in exiting a for/foreach loop in Module::Generic::Array
- Switched clone() method to using XS module Clone::clone()
- Added methods new_array, new_hash, new_number and new_scalar in Module::Generic to make it more convenient to create object from those classes
- Added some missing documentation to Module::Generic::Scalar
v0.12.15 2020-06-16T12:22:19+0900
- Fixed some test units
v0.12.14 2020-05-28T05:46:04+0900
- Tweaked Module::Generic::Number::_set_get_prop in my last desperate attempt to correct this tedious bug. Should fix RT #132714
v0.12.13 2020-05-27T13:58:32+0900
- Corrected (hopefully) an issue whereby some undefined hash keys would not be undefined affecting test unit
v0.12.12 2020-05-25T13:55:00+0900
- Corrected issues with Number::Format whereby it would revert to some default, so made all of the Number::Format argument explicit, even setting them to '' to avoid Number::Format from using its inadequate default
- Implemented a workaround to Number::Format on Windows whereby some of the POSIX::localconv values are -1. When there is no value, such as when the locale is C or when it is on Windows (value being -1), then numeric values default to 0
- Improved test units for when running on Windows Strawberry
v0.12.11 2020-05-25T14:56:15+0900
v0.12.10 2020-05-24T13:00:03+0900
- Corrected bug in test unit for Module::Generic::Number. Fix bug RT #132671
- Updated Module::Generic::Scalar to return undef when creating an object with an undefined value. Fix bug RT #132681 (https://rt.cpan.org/Ticket/Display.html?id=132681)
v0.12.9 2020-05-23T15:00:57+0900
- Corrected bug in test unit for Module::Generic::Number
v0.12.8 2020-05-22T16:15:00+0900
- Change POSIX requirement to version 1.53_01 and perl minimum version to v5.26.1
v0.12.7 2020-05-22T16:15:00+0900
- Corrected RT bug #132664 https://rt.cpan.org/Public/Bug/Display.html?id=132664 in Module::Number::init
v0.12.6 2020-05-21T14:52:00+0900
- Corrected a small bug in creating a Number::Format object.
v0.12.5 2020-05-20T23:22:00+0900
- Change from TryCatch to Nice::Try because TryCatch got broken with release of Devel::Declare version 0.006020
v0.12.4 2020-05-16T17:22:00+0900
- Specified more clearly version 0.006019 for Devel::Declare, because upper version break TryCatch
v0.12.3 2020-05-16
- Corrected minor issues at line at lines 5428 and 5430 where a typo existed
v0.12.2 2020-05-05
- Added Module::Generic::Number, its test units and pod documentations
- _set_get_number now sets and gets a Module::Generic::Number instead of Text::Number
- Added Module::Generic::Hash providing an object oriented approach to hash while stil enabling direct access as usual
- Added missing test units
v0.12.1 2020-05-03
- Corrected issue when @_ contains an undef value in __instantiate_object
v0.12.0 2020-05-01
- Added colour_closest, colour_format, colour_parse and message_colour
- Added missing pod documentation
v0.11.9 2020-04-27
- Removed some ambiguity in the use of shift
v0.11.8 2020-04-25
- Changed init when an object preset value looks like a package name, this now also requires that the package be loaded to consider it as a package requirement. Example: $self->{url} = 'URI'; requires an object URI for the object property 'url'
- error() method now respect the 'no warnings' pragma
- If 'no warnings' is set, an error wil still be set, but no warning will be printed out on STDERR
v0.11.7 2020-03-30
v0.11.6 2020-03-27
v0.11.5 2020-03-27
v0.11.4 2020-03-27
v0.11.3 2020-03-26
v0.11.2 2020-03-06
v0.11.1 2020-02-04
v0.11.0 2020-02-04
v0.10.2 2020-01-11
v0.10.1 2020-01-10
v0.10.0 2020-01-07
v0.9.0 2020-01-04
v0.8.0 2020-01-01
v0.7.2 2019-12-28
v0.7.1 2019-12-27
v0.7.0 2019-12-25
v0.6.11 2019-12-13
v0.6.10 2019-11-28
v0.6.9 2019-11-27
v0.6.8 2019-11-14
v0.6.7 2019-11-08
v0.6.6 2019-11-03
- Adjusted the functionning of _set_get_hash_as_object so that it always returns an object even when there was no data. This is to avoid the perl error of "Can't call method "this_property" on an undefined value" when doing something like my_dynamic_hash->this_property
v0.6.5 2019-11-02
- Added an inline package Module::Generic::Boolean to handle boolean value and the _set_get_boolean method
- Added the use of Class::Load for loading dynamically packages as used in _instantiate_object
- Added the methods true, false under Module::Generic to be used in _set_get_boolean and _is_class_loaded and _load_class which are wrappers for Class::Load::is_class_loaded and Class::Load::load_class
v0.6.4 2019-10-31
- Added handling of undef passed as a parameter to some of the _set_get_* methods
v0.6.3 2019-10-23
- Add _set_get_hash_as_object with recursive processing
v0.6.1 2019-10-19
v0.5.5 2919-10-13
v0.2.0 2019-08-28
- Switched from Class::Struct to inner package for management of exceptions for better granularity
v0.1.0 2019-08-26
- Initial version from pre-existing work done