Giter Club home page Giter Club logo

jonatas / ruby_jard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nguyenquangminh0711/ruby_jard

0.0 1.0 0.0 16.53 MB

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.

Home Page: https://rubyjard.org/

License: MIT License

Ruby 95.64% JavaScript 3.78% CSS 0.41% HTML 0.04% Roff 0.13%

ruby_jard's Introduction

Gem GitHub Workflow Status (branch) GitHub stars From Vietnam with <3

Ruby 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.

Please visit https://rubyjard.org/ for more information.

RubyJard Demo

(Click for demo video)

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. I'll try my best to fix.

Install Ruby Jard

Bundler

Add one of those lines into your Gemfile. Note: Ruby Jard is discouraged to use on production environment.

gem 'ruby_jard', group: :development
❯ bundle install

If you would like to use Ruby Jard to debug a test, you can add to group test too.

gem 'ruby_jard', group: [:development, :test]

If you would like to use edged developing version of Ruby Jard:

gem 'ruby_jard', group: :development, git: 'https://github.com/nguyenquangminh0711/ruby_jard'

Ruby Gem

If you want to install Ruby Jard independently from bundler:

gem install ruby_jard

If you want to install a specific version published on Ruby gems:

gem install [email protected]

Run your program with Ruby Jard

How to run your program with Ruby Jard

To 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.

def test_method(input)
  a = 1
  b = 2
  jard # Debugger will stop here
  c = a + b + input
end

class TestClass
  jard # Yes, it can stop here too
  @dirty_class_method = 1 + 1

  def test_method
    jard
  end

  def self.test_class_method
    jard
  end
end

jard
test_method(5)

Afterward, run your program, just like normally. If your program meets jard execution break point, it gonna stop, show the UI, and let you debug.

In 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

require 'ruby_jard'

Please visit https://rubyjard.org/ for more information.

Contributing

Bug 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.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the RubyJard project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

ruby_jard's People

Contributors

gregoryfm avatar hieuk09 avatar nguyenquangminh0711 avatar qcam avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.