Revision history for IRC-Log-Colabti
- Up dependency on IRC::Log to get support for .next / .prev
- Add tests for .next / .prev
- Make .parse return the actual entries that were added, as a Seq
- Upped dependency on IRC::Log to 0.0.6 to get Message.gist fix
- Make sure .update handles changed files better, and make
the check for additional parsing more robust.
- Upped dependency on IRC::Log to 0.0.5
- Become a client of the new IRC::Log role, now that the API
basically has stabilized.
- Reorganize handling of hour/minute/ordinal/pos internally
"pos" is now part of the internal $!hmop attribute, so that
calling .pos on an entry is not dependent on the number of
entries, or the position of the entry in that days's entries.
- .new now needs to be called with :hour, :minute, :ordinal
and :pos attributes, thereby hiding how these are encoded
internally and make a move to a role more easy.
- Add .this-target for finding the entry with the given target
- Add support for .raw method
- Add support for nr-(control|conversation)-entries
- Condense hour/minute/ordinal into a single hmo attribute to
reduce the memory footprint of each entry by about 5%. Which
may amount to quite a lot for channels with bigger log files.
- Give .new its own proto, for better error messaging
- Change .sender to only return nick for Message objects
- Remove .seen-at method
- Add entry methods .message, .sender, .prefix
- Move .gist method to role, calling these methods
- Add support for entry.hh-mm method
- Make .entries return an IterationBuffer for performance
- Make target lazy again, it did not provide less memory footprint
- Add hour, minute, ordinal back in
- Remove "is required" from entry checks, they're not needed as internal
- Use native attributes where possible
- Remove hour, minute, ordinal attributes to reduce memory footprint
- Change target format to YYYY-MM-DDZHH:MM-OOOO
- Add .hour, .minute, .ordinal methods based on .target substrings
- Also base .date, .hhmm, .seen-at on .target substrings
- Add .first-target / .last-target methods
- Add .update method for updating current log file
- Make Topic control *and* conversational message
- Make .target an attribute composed at TWEAK time
- Also make sure that we can handle 1000+ unique ordinals.
- Add support for the entry.conversation message
- Add support for the entry.control message
- Make "nicks" setup non-lazy and a normal attribute
- Add "nicks" instance method with Map of nick -> entries
- Add "IO2Date" class method
- Don't use .lines, but split("\n") to fix edge cases with
- Don't use captures when accepting, makes initializing
about 2x as fast
- Use :ignoremark for finding end of nick in message if
without :ignoremark failed, to fix some edge cases
- Improve error reporting by providing line number as well
- Slurp files with "utf8-c8" encoding to be on the safe side
- Rename "hhmm" method to "seen-at"
- Add support new "hhmm" method that just is "hhmm:
- No longer use (still slow) sprintf
- Add support for 'Kick' control messages
- Add support for 'Topic' control messages
- Add support for 'Mode' control messages
- Add 'log' attribute to entries, referring back to the Log object
- Make the 'log' attribute handle 'date', 'entries', 'problems'
- Add 'pos' method to entries, giving the position in the entries
- Add 'date' attribute
- Method new now a multi, either IO or string + date
- Add 'problems' attribute
- Don't report problems in STDERR, but keep in "problems"
- Add 'hhmm' method for log line prefix
- Add 'ordinal' attribute, counting within a minute
- Add 'target' method for creating an HTML anchor
- Initial version