This set of changes represents a significant modernization effort for the Ruby Classifier library. The main modifications include:
Updating the CI/CD pipeline from Travis CI to GitHub Actions.
Upgrading supported Ruby versions.
Refactoring and optimizing various parts of the codebase.
Improving code style and adhering to modern Ruby conventions.
Updating dependencies and gemspec.
Reason for Changes
These changes are being made to:
Modernize the project's infrastructure and tooling.
Improve performance and maintainability of the codebase.
Ensure compatibility with newer Ruby versions.
Enhance code readability and adhere to current Ruby best practices.
Detailed Description
CI/CD Update: Replaced .travis.yml with .github/workflows/ruby.yml to use GitHub Actions instead of Travis CI. This provides better integration with GitHub and more flexible CI/CD capabilities.
Ruby Version Support: Updated the supported Ruby versions to include 2.7, 3.1, 3.2, and 3.3, dropping support for older versions. This ensures the library works with modern Ruby environments.
Code Refactoring:
Optimized various algorithms, particularly in the Bayes and LSI classes.
Replaced deprecated mathn and cmath dependencies with matrix.
Improved memory efficiency in several operations.
Code Style Improvements:
Updated syntax to use newer Ruby features (e.g., using &. safe navigation operator).
Improved naming conventions and variable clarity.
Enhanced readability with better formatting and more idiomatic Ruby code.
Dependency Updates:
Updated gemspec to reflect new version and dependencies.
Added explicit fast-stemmer and matrix dependencies in the Gemfile.
Changes Overview
This set of changes represents a significant modernization effort for the Ruby Classifier library. The main modifications include:
Reason for Changes
These changes are being made to:
Detailed Description
CI/CD Update: Replaced
.travis.yml
with.github/workflows/ruby.yml
to use GitHub Actions instead of Travis CI. This provides better integration with GitHub and more flexible CI/CD capabilities.Ruby Version Support: Updated the supported Ruby versions to include 2.7, 3.1, 3.2, and 3.3, dropping support for older versions. This ensures the library works with modern Ruby environments.
Code Refactoring:
Bayes
andLSI
classes.mathn
andcmath
dependencies withmatrix
.Code Style Improvements:
&.
safe navigation operator).Dependency Updates:
gemspec
to reflect new version and dependencies.fast-stemmer
andmatrix
dependencies in the Gemfile.