Skip to content
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

[Update] Refactor YAML Handling, Enhance Trace Data Structure, and Improve Pipeline #8

Merged
merged 8 commits into from
Jan 1, 2025

Conversation

patrick204nqh
Copy link
Owner

@patrick204nqh patrick204nqh commented Jan 1, 2025

Description

This PR introduces several significant changes and improvements:

  • Refactored YAML Handling: Removed YAML formatters and refactored the YamlTransformer to build hierarchical hashes while transforming keys and values.
  • Enhanced Trace Data Structure:
    • Introduced traits for depth, time tracking, and identification.
    • Improved depth assignment methods.
    • Added a new TraceLinker for better linking of method calls and returns.
  • Pipeline Updates: Reorganized trace pipeline by reordering the linking step before depth assignment and renaming methods for better clarity.
  • Added New Features:
    • Solarized theme support for action colors in the tracer.
    • Helper modules for configuration, colorization, and tracking, enhancing modularity and consistency.
  • Bug Fixes:
    • Updated validation logic for truncate_length to ensure it is an integer.
    • Fixed issues related to class tracing and diagram generation.
  • Performance and Developer Experience:
    • Disabled/enabled Bundler caching in CI workflows for optimization.
    • Introduced IDGenerator for unique ID generation.
    • Enhanced logging and exporting mechanisms with LoggingManager and ExportManager.

Type of Change

Check all that apply:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Documentation update
  • Breaking change (fix or feature that changes existing behavior)
  • Other (please describe):

How Has This Been Tested?

Describe the tests you ran to verify your changes:

  • Ran bundle exec rspec to ensure all tests pass.
  • Added or updated specs for new functionality.
  • Verified changes on supported Ruby versions and environments.
  • Manual testing for specific features like export formats and colorization.

Checklist

  • I have followed the [Ruby Style Guide](https://github.com/rubocop/ruby-style-guide).
  • I have performed a self-review of my code.
  • I have added or updated tests as needed.
  • All existing and new tests pass.
  • I have updated the documentation (if needed), including README.md and CHANGELOG.md.
  • I have considered the impact on users and documented any required changes or upgrades.

Deployment Notes

No special deployment changes are required once this PR is merged.

Related Issues

N/A

Screenshots (if applicable)

N/A

@patrick204nqh patrick204nqh added the enhancement A new feature or an improvement to existing functionality. label Jan 1, 2025
@patrick204nqh patrick204nqh self-assigned this Jan 1, 2025
@patrick204nqh patrick204nqh changed the title Develop [Update] Refactor YAML Handling, Enhance Trace Data Structure, and Improve Pipeline Jan 1, 2025
@patrick204nqh patrick204nqh added in review Pull requests currently under review. approved PRs that are approved and ready to merge. and removed in review Pull requests currently under review. labels Jan 1, 2025
@patrick204nqh patrick204nqh merged commit a9b4529 into main Jan 1, 2025
6 checks passed
@patrick204nqh patrick204nqh deleted the develop branch January 1, 2025 10:11
@patrick204nqh patrick204nqh added this to the Version 1.0.0 Release milestone Jan 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved PRs that are approved and ready to merge. enhancement A new feature or an improvement to existing functionality.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant