Revision history for IRC-Log
0.0.24 2021-12-11T20:11:49+01:00
- Remove .merge method, it can only work on IRC::Log::Colabti
0.0.23 2021-12-11T14:33:15+01:00
- Add support for .merge method
0.0.22 2021-12-10T22:21:16+01:00
- Add support for .heartbeat Entry instance method
- Add support for EXPORT class method
0.0.21 2021-12-01T21:44:16+01:00
- Use less scoping for conversation/control checks
0.0.20 2021-11-18T11:58:42+01:00
- Make sure an empty log file is properly handled
0.0.19 2021-11-17T13:55:55+01:00
- Add %.nick-indices hash for fast lookup of nick-names, which
turned out to be a severe bottleneck in parsing of a log.
This change made parsing of the perl6 historical log about
2.5x as fast as with 0.0.18, and 20% faster than 0.0.14
(before the last refactor). Memory usage is also down about
20% since 0.0.14.
0.0.18 2021-11-16T21:34:28+01:00
- Added support for :targets to .search method
- Fixed several other issues with .search found when trying to
use it from IRC::Channel::Log
- Changed the interface to parse-log, to make parsing a little
bit faster and remove the mutability of the .nr-control-entries
and .nr.conversation.entries that is no longer needed
0.0.17 2021-11-15T12:30:48+01:00
- Add full .search capability
- Add .Date method
- Added dependency on "has-word" module
0.0.16 2021-11-12T18:20:33+01:00
- Rename .this-target to .target-entry
- Add methods .target-index, .entries-lt-target, .entries-le-target,
.entries-ge-target, .entries-gt-target
- The .entries and .problems methods now always return IterationBuffer
- The .parse method now only takes the text to parse
- Consuming classes now need to provide a .parse-log method, rather
than a .parse method, which is now provided by the role. This
allows some common functionality to be moved from the consumer
classes, simplifying them significantly
0.0.15 2021-11-10T00:52:31+01:00
- Added .nick-names and .entries-of-nick methods
- Added .clear method to reset an object for re-parsing
- Pretty extensive refactor to save memory, probably a little
bit at the expense of CPU. Each message now consists of at
least a "log" attribute, and a so-called hmon attribute (a
32bit unsigned integer value containing hour, minute, ordinal
and nick-index value). Nick-names are now stored in a native
str array (1-based). Linking between messages is now done
with the $entries and the associated $hmon values. The %nicks
hash is now gone: all there is now is a .entries-of-nick method
that lazily produces the entries of the nick given. This
reduces the memory footprint significantly, as well as simplifies
updating of any additional messages. Consumers of the IRC::Log
role can simplify their parsing logic, as they no longer need
to keep track of position and other stuff
- Added dependency on Array::Sorted::Util
0.0.14 2021-10-26T23:00:36+02:00
- Work around issue with .target
0.0.13 2021-10-25T23:24:31+02:00
- Fix issue with .entries returning an IterationBuffer
instead of a List
- Limit values that can be passed to TWEAK for hour, minute,
ordinal and pos
0.0.12 2021-10-24T13:28:40+02:00
- Subtle change in semantics of .next/.prev. Instead
of returning Empty on end reached, they now return Nil
0.0.11 2021-10-23T14:22:44+02:00
- Added "first-entry" and "last-entry" methods
- Fix some documentation typos
0.0.10 2021-09-05T21:23:01+02:00
- Move to the zef ecosystem
0.0.9 2021-08-20T12:43:20+02:00
- Delegate handling of last-topic-change to "parse" method
0.0.8 2021-08-20T10:51:15+02:00
- Add .last-topic-change instance method
0.0.7 2021-06-09T19:47:15+02:00
- Add .next / .prev entry methods
0.0.6 2021-05-25T17:52:53+02:00
- Make Message.gist be the same what IRC::Log::Colabti parses
0.0.5 2021-05-23T23:13:45+02:00
- Oops. .new should not return its type object. Need more tests
0.0.4 2021-05-23T22:50:25+02:00
- Changed default branch.
- Expect .update to return Nil, 0 or > 0
0.0.3 2021-05-19T17:50:07+02:00
- Seems tagging got mixed up somehow
0.0.2 2021-05-19T17:32:10+02:00
- Tweaks to make IRC::Log::Colabti work
0.0.1 2021-05-19T17:27:07+02:00
- Initial version