Skip to content

Conversation

ronaldtse
Copy link

No description provided.

KitaitiMakoto and others added 30 commits January 27, 2021 17:31
Add Ruby 3 to required Ruby versions
Support ruby version 3.0.x
(drops explicit support for 2.5.x and 2.6.x)
gonzedge added 28 commits May 4, 2023 17:45
#### 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 
![Screenshot 2023-05-09 at 4 55 13 PM](https://github.com/gonzedge/rambling-trie/assets/218312/de876e83-f569-48b9-b2f1-4a33c8c166c5)
    * 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`
… depending on whether a block is given or not.
- 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
Update `CHANGELOG.md` with latest changes.
And add explicit RubyMine `noinspection` comments for things that RuboCop already takes care of.
- Rename `Helpers::{GC => GarbageCollection}` (and corresponding files)
- Use symbols for hash `key?`/`has_key?`/`!![]` ips benchmark comparison
... 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
... by using the same filter as we use for `Coveralls.wear!`
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.
@gonzedge gonzedge deleted the branch interscript:master January 27, 2024 21:55
@gonzedge gonzedge deleted the master branch January 27, 2024 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants