{"id":13398873,"url":"https://github.com/0x2c7/ruby_jard","last_synced_at":"2025-03-14T03:30:44.512Z","repository":{"id":39021130,"uuid":"273854978","full_name":"0x2c7/ruby_jard","owner":"0x2c7","description":"Just Another Ruby Debugger. Provide a rich Terminal UI that visualizes everything your need, navigates your program with pleasure, stops at matter places only, reduces manual and mental efforts. You can now focus on real debugging.","archived":true,"fork":false,"pushed_at":"2023-01-18T17:19:17.000Z","size":18572,"stargazers_count":846,"open_issues_count":39,"forks_count":28,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-06-12T19:44:02.963Z","etag":null,"topics":["console","debugger","hacktoberfest","ruby","ruby-debugger","syntax-highlighting","terminal","tty","visual"],"latest_commit_sha":null,"homepage":"https://rubyjard.org/","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/0x2c7.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"ko_fi":"nguyenquangminh0711"}},"created_at":"2020-06-21T07:20:43.000Z","updated_at":"2024-06-12T19:44:02.964Z","dependencies_parsed_at":"2023-02-10T16:30:39.588Z","dependency_job_id":null,"html_url":"https://github.com/0x2c7/ruby_jard","commit_stats":null,"previous_names":["0x2c7/ruby_jard","nguyenquangminh0711/ruby_jard"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x2c7%2Fruby_jard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x2c7%2Fruby_jard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x2c7%2Fruby_jard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x2c7%2Fruby_jard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0x2c7","download_url":"https://codeload.github.com/0x2c7/ruby_jard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221432656,"owners_count":16820052,"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":["console","debugger","hacktoberfest","ruby","ruby-debugger","syntax-highlighting","terminal","tty","visual"],"created_at":"2024-07-30T19:00:32.376Z","updated_at":"2024-10-25T14:31:42.515Z","avatar_url":"https://github.com/0x2c7.png","language":"Ruby","funding_links":["https://ko-fi.com/nguyenquangminh0711"],"categories":["Podcast","Ruby"],"sub_categories":[],"readme":"[\u003cimg src=\"./website/static/img/logo/logo-full.png\" width=\"400\" /\u003e](https://rubyjard.org/)\n\n![Gem](https://img.shields.io/gem/v/ruby_jard?label=Latest%20version\u0026style=for-the-badge) ![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/nguyenquangminh0711/ruby_jard/Rspec/master?label=Build\u0026style=for-the-badge) ![GitHub stars](https://img.shields.io/github/stars/nguyenquangminh0711/ruby_jard?style=for-the-badge) [![From Vietnam with \u003c3](https://raw.githubusercontent.com/webuild-community/badge/master/svg/love-modern.svg)](https://webuild.community)\n\nRuby Jard provides a rich Terminal UI that visualizes everything your need, navigates your program with pleasure, stops at matter places only, reduces manual and mental efforts. You can now focus on real debugging.\n\nPlease visit [https://rubyjard.org/](https://rubyjard.org/) for more information.\n\n[![RubyJard Demo](https://asciinema.org/a/358874.svg)](https://asciinema.org/a/358874)\n\n*[(Click for demo video)](https://asciinema.org/a/358874)*\n\n**Note**: Ruby Jard is still under heavy development. Bugs and weird behaviors are expected. If you see one, please don't hesitate to [open an issue](https://github.com/nguyenquangminh0711/ruby_jard/issues). I'll try my best to fix.\n\n## Install Ruby Jard\n\n### Bundler\n\nAdd one of those lines into your Gemfile. **Note**: Ruby Jard is discouraged to use on production environment.\n\n```ruby\ngem 'ruby_jard', group: :development\n```\n\n```bash\n❯ bundle install\n```\n\nIf you would like to use Ruby Jard to debug a test, you can add to group test too.\n\n\n```ruby\ngem 'ruby_jard', group: [:development, :test]\n```\n\nIf you would like to use edged developing version of Ruby Jard:\n\n```ruby\ngem 'ruby_jard', group: :development, git: 'https://github.com/nguyenquangminh0711/ruby_jard'\n```\n\n### Ruby Gem\n\nIf you want to install Ruby Jard independently from bundler:\n\n```bash\ngem install ruby_jard\n```\n\nIf you want to install a specific version published on [Ruby gems](https://rubygems.org/gems/ruby_jard):\n\n```bash\ngem install ruby_jard@0.2.3\n```\n\n## Run your program with Ruby Jard\n\n![How to run your program with Ruby Jard](./website/static/img/getting_started/how-to-use.gif)\n\nTo use Ruby Jard, you just need to put `jard` magic method **before** any places you want to stop. Jard supports stopping at anywhere, including top level binding, instance methods, class methods, string evaluation, or even inside a class declaration.\n\n```ruby\ndef test_method(input)\n  a = 1\n  b = 2\n  jard # Debugger will stop here\n  c = a + b + input\nend\n\nclass TestClass\n  jard # Yes, it can stop here too\n  @dirty_class_method = 1 + 1\n\n  def test_method\n    jard\n  end\n\n  def self.test_class_method\n    jard\n  end\nend\n\njard\ntest_method(5)\n```\n\nAfterward, run your program, just like normally. If your program meets `jard` execution break point, it gonna stop, show the UI, and let you debug.\n\nIn case you meet error `undefined local variable or method jard`, please require ruby_jard manually at initializing scripts. If you use Ruby Jard with famous frameworks, ruby_jard will be loaded by default\n\n```ruby\nrequire 'ruby_jard'\n```\n\nPlease visit [https://rubyjard.org/](https://rubyjard.org/) for more information.\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/nguyenquangminh0711/ruby_jard. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/nguyenquangminh0711/ruby_jard/blob/master/CODE_OF_CONDUCT.md).\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n## Code of Conduct\n\nEveryone interacting in the RubyJard project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/ruby_jard/blob/master/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0x2c7%2Fruby_jard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0x2c7%2Fruby_jard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0x2c7%2Fruby_jard/lists"}