Skip to content

Neodelf/lecter

Repository files navigation

Lecter Logo

Lecter shows an executed code by a URL request.
Debug an unknown code in SECONDS!

Gem Version Ruby Style Guide CircleCI Test Coverage Maintainability All Contributors

Quid pro quo. I tell you things, you tell me things. Not about this case, though. About yourself.
-- Hannibal Lecter / The Silence of the Lambs


Table of contents

🚨 Problems

  1. Developers don't know how their app works.
  2. Reading code is a long process.
  3. Memorizing many lines of code is difficult.

🚀 Solutions

  1. The main purpose of this gem is to help developers understand which code is executed by a request.

  2. Gem's purpose could be compared to visiting a doctor: You give the symptoms of your disease and receive a diagnosis.
    You give the parameters of a request and receive executable code.

  3. You don't have to work with debuggers, read and remember many lines of code.
    Just give & receive!

‼️ Requirements

Please use a multithreading server such as a puma server with more than 1 worker.
For more information about how to tune a puma server, please visit this link.

🛠️ Installation

Installing is a very simple process.

  1. Add the gem to your Gemfile:

    gem 'lecter'
  2. Execute in a terminal in your app's directory:

    bundle install
  3. Add routes to your config/routes.rb:

    mount Lecter::Engine => '/lecter' if Rails.env.development?

🕹️ Usage

Follow two simple steps:

  1. Go to /lecter

  2. Fill in the form fields with request parameters:

    HTTP method - request's method
    Endpoint - use absolute route like localhost:3000/blogs
    Headers - request's headers Body(raw) - request's parameters

👨‍💻 Examples

Here is an example with a POST request:

  1. Go to localhost:3000/lecter

  2. Fill in the form with:

    HTTP method - POST
    Endpoint - localhost:3000/posts
    Headers - content_type=text/html,accept=*/*
    Body(raw) - "post"=>{"title"=>"New title", "description"=>"Desciption"}

    lecter example post form
  3. Submit the form

  4. Review the result

    lecter post form result

❤️ Sponsors

Evrone Logo

🖥️ Contributing & Contributors

  1. Bug reports and pull requests are welcome.
  2. There are many issues as a proposal to improve this library. If you have any ideas, please feel free to write your thoughts in a new issue.
  3. Choose what you like to fix or improve on the issues list. You can ask any questions in the comments.
  4. ‼️ Mention of each contributor will be on the README file.

Thanks goes to these wonderful people:


Aleksey Glukhov

💻 📖

Alisha Taylor

📖

Vitaliy Emeliyantsev

📖

Oskar Janusz

💻

🗃️ License

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