- minor fixes
- wholesale documentation improvements
- fixed conditional definition / overriding of
Test::Unit::Assertions
assertion methods - fix to
IO.writelines()
extension method - various warnings fixed
- settings (fix)
- updated run_all_unit_tests.sh (from https://github.com/synesissoftware/misc-dev-scripts)
- extends
Integer
class with the#to_s_grp()
method - canonicalising whitespace and file format
- added
Integer#to_s_grp
extension method, available via xqsr3/extensions/integer (or xqsr3/extensions/integer/to_s_grp)
check_parameter()
: ~ execution of block (if given) now occurs before value check, rather than after
- improved documentation
- ensuring all
Xqsr3::Containers::FrequencyMap
each
methods work with and without block
- various enhancements to
Xqsr3::Quality::ParameterChecking
module
- added
NilClass#map_option_string
extension method, available via xqsr3/extensions/string/map_option_string
- Ruby 3.x compatibility in gemspec
- compatibility with Ruby 3.x for
Hash#except
and#except!
- added
Hash#except
extension method, available via xqsr3/extensions/hash (or xqsr3/extensions/hash/except)
- fixes to unit-tests of
tc_raise_with_options
to ensure works on Windows
- Ruby 2.7 compatibility - avoiding deprecation warning when Hash used in keyword arguments context
- added a number of files to simplify
require
statements:- lib/xqsr3/all_extensions.rb
- lib/xqsr3/array_utilities.rb
- lib/xqsr3/command_line_utilities.rb
- lib/xqsr3/containers.rb
- lib/xqsr3/conversion.rb
- lib/xqsr3/diagnostics.rb
- lib/xqsr3/extensions.rb
- lib/xqsr3/extensions/array.rb
- lib/xqsr3/hash_utilities.rb
- lib/xqsr3/string_utilities.rb
- CHANGES.md : improved markup
::Xqsr3::IO.writelines()
/::IO.writelines()
now recognises:no_last_eol
option, which, if truey, suppresses the EOL on the last line/element in the written collection
- added
Hash#slice
for Ruby versions < 2.5, available via xqsr3/extensions/hash (or xqsr3/extensions/hash/slice)
- added
Hash#slice
for Ruby versions < 2.5, available via xqsr3/extensions/hash (or xqsr3/extensions/hash/slice)
- further hiding of internal code from rdoc and yard
MultiMap
:- added
#has_values?
method; - added
#multi_merge
and#multi_merge!
methods; - added
#strict_merge
and#strict_merge!
methods; - adding in missing (
TypeError
) parameter checks
- added
- completing all outstanding missing documentation
- comprehensive fixes to documentation
- substantially improved performance of
Enumerable#unique()
- fixes to
FrequencyMap
- fixes to
MultiMap
FrequencyMap
: changed@counts
=>@elements
- refactored
Xqsr3::Containers::FrequencyMap
, and corrected#push()
to handle -ve count - substantially improved documentation for some components (though many more to go)
- added EXAMPLES.md and the examples/count_word_frequencies.rb example
T.B.C.