Conversation
- Update version from 2.7.8 to 3.4.4 - Ensure compatibility with newer Ruby features
- Require Ruby version >= 3.4 for compatibility - Update faraday dependencies for improved functionality - Replace specific middleware dependencies with core faraday packages - Adjust json and yajl-ruby dependencies to broader ranges
- Aligns project with Ruby 3.4 for improved performance and support - Ensures compatibility with latest libraries and features
- Remove version constraints on development gems - Ensure consistency and flexibility for dependency updates
- Remove outdated ignore patterns - Add new patterns for common Rails and Ruby files - Standardise gitignore using generator
- Introduces initial lock file for dependency management - Ensures consistent gem versions across environments - Facilitates future updates and dependency resolution
- Streamlines exception handling in HTTP requests - Refines retry strategy with custom options - Integrates logger configuration for Rails environments
- Upgrade minitest to version 5.25.5 - Upgrade minitest-rg to version 5.3.0 - Ensure compatibility with the latest library features - Aim to improve test framework support
- Bumps rake version from 13.0.6 to 13.3.0 - Ensures compatibility with the latest libraries - Enhances potential performance and security
- Bumps simplecov to version 0.22.0 for improved compatibility - Ensures better reporting features with latest updates
- Enhances compatibility with latest dependencies - Fixes potential issues with outdated webmock version
- Update excon gem dependency for improved compatibility - Introduce logger dependency to maintain functionality
- Upgrades mocha dependency to version 2.7.1 for improved performance and compatibility - Adds ruby2_keywords as a new dependency to support mocha requirements
- Replace deprecated middleware with updated components - Add encoding, redirect, and retry features for improved HTTP handling
- Rename 'instrumenter' to 'mock_notifier' for better clarity - Enhance code readability with consistent naming - Prepare for easier debugging by adding breakpoints
- Adjusts URL construction to properly handle secure protocols - Uses URI library for consistent URL generation - Ensures APIs with improper schemes are defaulted to a base URL
- Replaces direct Rails check with helper method to enhance readability - Preserves logger response configuration outside Rails environment
- Replaces throw with raising a custom exception for clearer error reporting - Changes json slicing to ensure handling of non-string input
- Moves logger setup to improve configuration readability - Retains functionality within a Rails environment
- Allow parsing non-string inputs by converting to JSON - Improve parsing logic for better complexity management
- Adds Faraday::TimeoutError to rescue block - Improves error handling for network timeouts
- Adjusts wording to enhance clarity of log message - Corrects pluralisation for row count output
- Add checks for query methods and terms type - Ensure non-nil response with expected size
- Change log check from first to last for duration - Simplify duration validation by directly checking as float
- Add handling for resource not found exceptions - Update retry logic to include new exception - Adjust tests for updated error handling
- Update VCR files with new API responses and recorded details - Update HTTP interactions reflecting server response headers - Add new VCR cassette for handling API service exception - Remove old duplicate API exception handling file - Address inconsistencies in recorded VCR requests Relates to improvements in API test coverage and reliability
- Moves the byebug gem to be required conditionally - Ensures byebug loads only in development and testing
- Bumps minor version from 1.5.4 to 1.6.0 - Freezes version string for immutability
- Update TargetRubyVersion to 3.4 for compatibility - Refresh dependencies for better stability - Refactor logging and error handling for clarity - Enhance JSON parsing reliability - Revise VCR setups with new HTTP client - Expand .gitignore to cover more files - Include Gemfile.lock for consistent dependencies
- Replace ignored patterns with allowed patterns - Enhance consistency in pattern usage - No change in ignored file paths
- Remove unused configuration for test files - Streamline gem specification settings
- Simplifies code logic for response key transformation - Refines operation string assignment method - Removes unnecessary linting suppressions in JSON parsing function
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
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.
This pull request introduces several updates to modernize the codebase, improve compatibility, and enhance reliability. Key changes include upgrading the Ruby version, updating dependencies, revising VCR setups, and refreshing configurations for better maintainability.
Ruby Version Upgrade and Configuration Updates:
TargetRubyVersionin.rubocop.ymlto 3.4 and replacedIgnoredPatternswithAllowedPatternsfor line length checks. (.rubocop.yml, .rubocop.ymlL2-R10).ruby-versionto 3.4.4. (.ruby-version, .ruby-versionL1-R1)required_ruby_versionindata_services_api.gemspecto>= 3.4. (data_services_api.gemspec, data_services_api.gemspecL17-R30)Dependency Management:
Gemfileby simplifying development and test dependencies and adding new gems such asmutex_mandostruct. (Gemfile, GemfileR8-R24)data_services_api.gemspec, including replacingfaraday_middlewarewith individual Faraday plugins likefaraday-retryandfaraday-follow_redirects. (data_services_api.gemspec, data_services_api.gemspecL17-R30)VCR and Testing Enhancements:
fixtures/vcr_cassettes/*, [1] [2] [3] [4]Documentation:
CHANGELOG.mdfor version 1.6.0, summarizing the Ruby version upgrade, dependency refresh, and other enhancements. (CHANGELOG.md, CHANGELOG.mdR3-R12)