{"id":20781383,"url":"https://github.com/syborgstudios/overrides_tracker","last_synced_at":"2025-04-30T21:22:05.312Z","repository":{"id":62090123,"uuid":"547104190","full_name":"SyborgStudios/overrides_tracker","owner":"SyborgStudios","description":"Overrides Tracker tracks all monkey patches in your codebase and the methods they override. It allows for comparison between builds to reveal changes you might miss otherwise.","archived":false,"fork":false,"pushed_at":"2023-09-06T12:31:31.000Z","size":1424,"stargazers_count":29,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T11:07:37.080Z","etag":null,"topics":["monkey-patching","rails","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SyborgStudios.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-07T06:21:50.000Z","updated_at":"2024-02-08T09:23:54.000Z","dependencies_parsed_at":"2022-10-26T08:00:35.528Z","dependency_job_id":null,"html_url":"https://github.com/SyborgStudios/overrides_tracker","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyborgStudios%2Foverrides_tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyborgStudios%2Foverrides_tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyborgStudios%2Foverrides_tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyborgStudios%2Foverrides_tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SyborgStudios","download_url":"https://codeload.github.com/SyborgStudios/overrides_tracker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251783032,"owners_count":21643033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["monkey-patching","rails","ruby"],"created_at":"2024-11-17T13:44:02.351Z","updated_at":"2025-04-30T21:22:05.284Z","avatar_url":"https://github.com/SyborgStudios.png","language":"Ruby","readme":"# Overrides Tracker\nOverrides Tracker keeps track of all overriding methods and their originals inside and outside of your codebase and allows for comparison across branches.\n\n[![Gem Version](https://badge.fury.io/rb/overrides_tracker.svg)](https://badge.fury.io/rb/overrides_tracker)\n[![Coverage Status](https://coveralls.io/repos/github/SyborgStudios/overrides_tracker/badge.svg?branch=master)](https://coveralls.io/github/SyborgStudios/overrides_tracker?branch=master)\n[![CircleCI](https://dl.circleci.com/status-badge/img/gh/SyborgStudios/overrides_tracker/tree/master.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/SyborgStudios/overrides_tracker/tree/master)\n\n## Contact\n\n*Code and Bug Reports*\n\n* [Issue Tracker](https://github.com/SyborgStudios/overrides_tracker/issues)\n* See [CONTRIBUTING]\n\n\nGetting started\n---------------\n1. Add OverridesTracker to your Gemfile and bundle install:\n\n    ```ruby\n    gem 'overrides_tracker', group: [:test, :development]\n    ```\n2. Add `overrides_tracker/*` to your .gitignore file because you want to keep hold of your report file when switching branches.\n\n3. Track your overrides by running:\n    ```ruby\n    bundle exec overrides_tracker track\n    ```\n    \n    This will print out all overrides on the terminal as well as generate a nice and clean HTML summary.\n    That summary can be found under overrides_tracker/summary.html and will look somewhat like this:\n    \n\u003cp float=\"left\"\u003e\n\u003cimg width=\"800\" alt=\"\" src=\"https://user-images.githubusercontent.com/9799974/219690881-40c44093-70d1-4326-aa7b-8196b2f1742b.png\"\u003e\n\u003c/p\u003e\n\n4. This will create a folder called overrides_tracker and a file containing all methods you override as well as your overrides in that branch.\n\n5. Switch branch and follow steps 1-3 again. If you want to compare multiple branches you need to redo these steps for every branch.\n\n6. Now you have at least 2 otf-files in the overrides_tracker folder\n\n7. It's time to compare these overrides accross branches.\n    ```ruby\n    bundle exec overrides_tracker compare\n    ````\n\n8. The result will be printed on the terminal as well as written as nice and clean HTML.\n   That comparison can be found under overrides_tracker/compare.html and will look somewhat like this:\n\n\u003cp float=\"left\"\u003e\n\u003cimg width=\"800\" alt=\"\" src=\"https://user-images.githubusercontent.com/9799974/219691633-b270db0f-8587-4b2b-91b7-8aecc36501dc.png\"\u003e\n\u003c/p\u003e\n\n## Integrate Overrides Tracker into your CI/CD pipeline with Overrides.io\n\nOverrides.io is a service that monitors code you override for changes. It notifies you whenever those changes occur.\nAdditionally it gives you a beautiful overview of all the methods you have overridden as well as your overrides side by side.\n\u003cp float=\"left\"\u003e\n\u003cimg width=\"500\" alt=\"Project View\" src=\"https://user-images.githubusercontent.com/9799974/211658325-60c21057-1a07-4b55-a4d5-3d82470fb3ee.png\"\u003e\n\u003cimg width=\"500\" alt=\"Build View\" src=\"https://user-images.githubusercontent.com/9799974/211658362-f50435dd-56c5-498b-9038-f702addb0717.png\"\u003e\n\u003cimg width=\"500\" alt=\"Comparison View\" src=\"https://user-images.githubusercontent.com/9799974/219853892-988d8c81-01ba-4d95-a335-cd9ceeddcf67.png\"\u003e\n\u003c/p\u003e\n\nOverrides Tracker can easily be integrated into your CI/CD pipeline.   \nJust sign up at Overrides.io and setup your project within a view seconds and you will receive an OVERRIDES_API_TOKEN. \n\nNow just set OVERRIDES_API_TOKEN environment variable with the value of that token and call 'bundle exec overrides_tracker track'.\nTo push the result file to overrides.io manually you could also just call 'bundle exec overrides_tracker track YOUR_OVERRIDES_API_TOKEN'.\n\nYou can find a detailed description how to integrate it with CircleCI, GitHub Action and Jenkins here:\n\nhttps://www.overrides.io/continuous_integration\n\n## GEM support\n\nOverrides Tracker can also be used on GEMs. It will autoload all classes in the lib and app folders.\n\nSometimes that is not enough:\n\nIf you need further requirements, you can just add a .overrides_tracker folder and add a requirements.rb file to it.\nIn that one you can just require the classes your gem depends on. \n\nYou can also use the ['require_all'](https://github.com/jarmo/require_all) way to include complete folders, filter files etc..\n\n## Ruby version compatibility\n\nOverrides Tracker is built in [Continuous Integration] on Ruby 2.3+.\n\n## Code of Conduct\n\nEveryone participating in this project's development, issue trackers and other channels is expected to follow our\n[Code of Conduct](./CODE_OF_CONDUCT.md)\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am 'Add some feature')\n4. Push to the branch (git push origin my-new-feature)\n5. Create new Pull Request\n\n## Copyright\n\nCopyright (c) 2023 Simon Meyborg. See MIT-LICENSE for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyborgstudios%2Foverrides_tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyborgstudios%2Foverrides_tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyborgstudios%2Foverrides_tracker/lists"}