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
PlainTextReadertoReaders::PlainTextby @gonzedge - Rename
CompressiontoCompressableby @gonzedge - Rename
InspecttoInspectableby @gonzedge
Enhancements
Major
-
Add
Serializersto dump trie into/load trie from disk
#10 by @gonzedge-
Supported formats include Ruby's
Marshal(.marshal) with
Serializers::MarshalandYAML(.yamlor.yml) with
Serializers::Yaml -
The format to use is determined by the filepath extension and
Marshalis 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::Zipto handle zip files by
@gonzedgeAutomatically detects
.marshaland.yamlfiles, as well as any
configuredSerializerbased 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_withinand#words_within?to get all words matched within a
given string #9 by @gonzedge#words_withinreturns all the matched words#words_within?returnstrueas soon as it finds one matching word
-
Add
#==to compare nodes by @gonzedgeContained in
Rambling::Trie::Comparablemodule. 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_stoStringifyablemodule - Move
#as_wordtoStringifyablemodule by - Move
#==toComparablemodule - Rename
CompressiontoCompressable - Rename
InspectortoInspectable
- Move
- Add
#terminal?value to inspect output by @gonzedge - Display value of
#terminalinstead of#terminal?whenNodeis inspected
by @gonzedge - Freeze
Rambling::Trie::VERSIONby @gonzedge - Refactor performance instrumentation tasks by
@gonzedge- Add
Performancemodule - Add
Performance::Reporter&Performance::Directoryclasses - 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
Readerinstance when filepath is given on initialization by
@gonzedge - Update license year by @gonzedge