Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Neodelf/lecter
:boom: Show executable code by request
https://github.com/Neodelf/lecter
code-analyzer debugger-visualizer lecter rails ruby tool
Last synced: 7 days ago
JSON representation
:boom: Show executable code by request
- Host: GitHub
- URL: https://github.com/Neodelf/lecter
- Owner: Neodelf
- License: mit
- Created: 2019-07-11T17:58:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T23:51:34.000Z (3 months ago)
- Last Synced: 2024-10-29T23:10:17.300Z (9 days ago)
- Topics: code-analyzer, debugger-visualizer, lecter, rails, ruby, tool
- Language: HTML
- Homepage:
- Size: 161 KB
- Stars: 94
- Watchers: 4
- Forks: 7
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Lecter shows an executed code by a URL request.
Debug an unknown code in SECONDS!
[![Gem Version][0]][1]
[![Ruby Style Guide][15]][16]
[![CircleCI][2]][3]
[![Test Coverage][12]][13]
[![Maintainability][10]][11]
[![All Contributors](https://img.shields.io/badge/all_contributors-5-green.svg)](#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
* [:rotating_light: Problems](#rotating_light-problems)
* [:rocket: Solutions](#rocket-solutions)
* [:bangbang: Requirements](#bangbang-requirements)
* [:hammer_and_wrench: Installation](#hammer_and_wrench-installation)
* [:joystick: Usage](#joystick-usage)
* [:man_technologist: Examples](#man_technologist-examples)
* [:heart: Sponsors](#card_file_box-license)
* [:desktop_computer: Contributing & Contributors](#desktop_computer-contributing--contributors)
* [:card_file_box: License](#card_file_box-license)## :rotating_light: 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**.## :rocket: 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**!## :bangbang: Requirements
Please **use a multithreading server** such as a [puma][4] server with more than `1` worker.
For more information about how to tune a puma server, please visit this [link][5].## :hammer_and_wrench: Installation
Installing is a **very simple** process.1. **Add** the gem to your Gemfile:
```ruby
gem 'lecter'
```2. **Execute** in a terminal in your app's directory:
```zsh
bundle install
```3. **Add** routes to your `config/routes.rb`:
```ruby
mount Lecter::Engine => '/lecter' if Rails.env.development?
```## :joystick: 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## :man_technologist: 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"}`
3. **Submit** the form
4. **Review** the result
## :heart: Sponsors
[][14]## :desktop_computer: 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][7].
3. Choose **what you like** to fix or improve on the [issues list][8]. You can ask any questions in the comments.
4. :bangbang: **Mention of each contributor** will be on the README file.**Thanks** goes to these wonderful people:
Aleksey Glukhov
💻
📖
Alisha Taylor
📖
Vitaliy Emeliyantsev
📖
Oskar Janusz
💻
## :card_file_box: License
The gem is available as open source under the terms of the [MIT License][9].[0]: https://badge.fury.io/rb/lecter.svg
[1]: https://badge.fury.io/rb/lecter
[2]: https://circleci.com/gh/Neodelf/lecter.svg?style=shield
[3]: https://circleci.com/gh/neodelf/lecter
[4]: https://github.com/puma/puma
[5]: https://github.com/puma/puma#clustered-mode
[7]: https://github.com/Neodelf/lecter/issues/new
[8]: https://github.com/Neodelf/lecter/issues
[9]: https://opensource.org/licenses/MIT
[10]: https://api.codeclimate.com/v1/badges/45d57f439d66990490f1/maintainability
[11]: https://codeclimate.com/github/Neodelf/lecter/maintainability
[12]: https://api.codeclimate.com/v1/badges/45d57f439d66990490f1/test_coverage
[13]: https://codeclimate.com/github/Neodelf/lecter/test_coverage
[14]: https://evrone.com
[15]: https://img.shields.io/badge/code_style-rubocop-brightgreen.svg
[16]: https://rubystyle.guide