Releases: gonzedge/rambling-trie
One-point-oh!
New methods to match words, new configurable options, saving to/reading from disk and a bunch of other goodies to make this gem ready for production.
1.0.0 compare
Breaking Changes
- Rename
PlainTextReader
toReaders::PlainText
by @gonzedge - Rename
Compression
toCompressable
by @gonzedge - Rename
Inspect
toInspectable
by @gonzedge
Enhancements
Major
-
Add
Serializers
to dump trie into/load trie from disk
#10 by @gonzedge-
Supported formats include Ruby's
Marshal
(.marshal
) with
Serializers::Marshal
andYAML
(.yaml
or.yml
) with
Serializers::Yaml
-
The format to use is determined by the filepath extension and
Marshal
is used when a format isn't recognized.# Save `your_trie` into a file Rambling::Trie.dump your_trie, 'a filename' # Load a trie from a file into memory trie = Rambling::Trie.load 'a filename'
-
-
Add
Serializers::Zip
to handle zip files by
@gonzedgeAutomatically detects
.marshal
and.yaml
files, as well as any
configuredSerializer
based on filepath extension -
Add ability to configure
rambling-trie
#11
by @gonzedgeRambling::Trie.config do |config| config.compressor = MyCompressor.new config.root_builder = lambda { MyNode.new } config.readers.add :html, MyHtmlReader.new config.readers.default = config.readers[:html] config.serializers.add :json, MyJsonSerializer.new config.serializers.default = config.serializers[:yml] end
-
Add
#words_within
and#words_within?
to get all words matched within a
given string #9 by @gonzedge#words_within
returns all the matched words#words_within?
returnstrue
as soon as it finds one matching word
-
Add
#==
to compare nodes by @gonzedgeContained in
Rambling::Trie::Comparable
module. Two nodes are equal to
each other if they have the same letter, they are both either terminal or
non-terminal and their children tree is the same -
Add changelog by @gonzedge
-
Add contributing guide by @gonzedge
Minor
- Extract modules for peripheral node functionality by @gonzedge
- Move
#to_s
toStringifyable
module - Move
#as_word
toStringifyable
module by - Move
#==
toComparable
module - Rename
Compression
toCompressable
- Rename
Inspector
toInspectable
- Move
- Add
#terminal?
value to inspect output by @gonzedge - Display value of
#terminal
instead of#terminal?
whenNode
is inspected
by @gonzedge - Freeze
Rambling::Trie::VERSION
by @gonzedge - Refactor performance instrumentation tasks by
@gonzedge- Add
Performance
module - Add
Performance::Reporter
&Performance::Directory
classes - Move task execution into individual classes
- Unify all tasks into single entry point
rake performance[type,method]
- Add
- Change benchmark report format by @gonzedge
- Correct supported versions by @gonzedge
- Only create new
Reader
instance when filepath is given on initialization by
@gonzedge - Update license year by @gonzedge