Skip to main content
  1. All Posts/

lecter

Tools HTML

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






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 methodPOST
    Endpointlocalhost:3000/posts
    Headerscontent_type=text/html,accept=*/*
    Body(raw)"post"=>{"title"=>"New title", "description"=>"Desciption"}
  3. Submit the form
  4. Review the result

❤ī¸ Sponsors

đŸ–Ĩī¸ 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.