forked from gonzedge/rambling-trie
-
Notifications
You must be signed in to change notification settings - Fork 0
Merging from source #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ronaldtse
wants to merge
63
commits into
interscript:master
Choose a base branch
from
gonzedge:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add Ruby 3 to required Ruby versions
Support ruby version 3.0.x
Ruby 3.1 support
Add ruby 3.2 support
(drops explicit support for 2.5.x and 2.6.x)
#### Issues found in `lib/` and `tasks/` 1. Explicitly disable `Style/ExplicitBlockArgument` due to performance hits ([0a6aec0](0a6aec0)) 2. Add missing `super`s 3. Yoda-style conditionals 4. Bump target ruby required version to current min supported (`2.7.0`) #### Issues found in `spec/` 1. Use `instance_double` instead of `double` 2. Split tests into single-assertion specs when parameterization is possible; disable otherwise 3. Use `let!` instead of instance variables 4. Remove duplicate test groups 5. Use `when` at the start of `context` block descriptions 6. Use `described_class`, `subject` in specs where possible 7. Single-line `before` where possible #### Other 1. Explicitly add `rubocop-performance`, `rubocop-rake`, `rubocop-rspec` plugins 2. Remove unused `Rails` rules 3. Remove unused/deprecated `RSpec`/`Layout`/`Style`/`Lint` rules
Realized that, except for one integration test, we were not testing compressed tries being serialized so added some more specific use cases. Also took the chance to expand the zip serializer spec to handle all formats.
* Update `.coveralls.yml` to point to `semaphore` * On `.semaphore/semaphore.yml`: * Rename pipeline to `Run specs in all supported rubies' * Extract `checkout` command to `global_job_config.prologue` * Add `3.2.2`, `3.1.4`, `3.0.6`, `2.7.8` tasks * Correctly configure main `3.2.2` task to publish test report, now being picked up by Semaphore  * Remove unnecessary formatters from non-`3.2.2` tasks * On badges: * Change `README.md` to have one badge per line instead of all in one giant line * Add RubyGems downloads badge * Add CodeClimate issues badge * Update docs badge to point directly to [rubydoc.info/gems/rambling-trie](http://rubydoc.info/gems/rambling-trie) * Update license badge to one from shields.io
Include rspec, coveralls and rubocop in ruby action.
And split rubocop and coveralls into own job tasks: `lint` and `coverage`.
Now, we only care about top-level pass/fail for badge reporting. All other tests are run with GitHub Actions.
Plus reformat badges at top of `README.md`.
* Add codeclimate coverage step to build GH action * Do things differently for coveralls and code climate * Use correct shared example for `words_within?` on compressed tries
- Add test in `a serializer` shared examples - Implement method for `Rambling::Trie::Serializers::Zip`
- Add `Readers::Reader` and `Serializer::Serializer` base classes - Make all readers/serializers extend from their corresponding base classes - Better docs with `Reader`/`Serializer` and generics - Fix all code blocks from `\`` to `+` and add some more - Add `@return [void]` where appropriate - Add `@return [self]` where appropriate - Fix `Nodes::Node` duplicate and broken references - Fix some typos and add some missing periods
And add explicit RubyMine `noinspection` comments for things that RuboCop already takes care of.
... instead of deprecated `run_all_when_everything_filtered`. Also: - Use non-reserved words for file format and method name so that we are not accidentally shadowing important built-ins (`:format` => `:file_format`, `:method` => `:method_name`) - Explicitly assert any new `Node` is not a `#word?` by default after initialization - Remove unnecessary parens from let definitions in specs
Follow-up to #38. Also fixes typos in `CHANGELOG.md` and `CONTRIBUTING.md`.
Plus: - More accurate `pop`/`shift`/`slice!` reporting - Only require `benchmark/ips` when necessary - One-liner blocks
And exclude `rubocop` files.
- Max line length is 120 (`MD013`) - Ordered list style is `ordered` (`MD029`) - Add titles to `CHANGELOG.md` and `CONTRIBUTING.md` - Apply lint rules - Fix corresponding tests
- Allow up to 5 params to be optional (same as max total params) - Change max line length to 120.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.