<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jackson Pires</title>
    <description>The latest articles on DEV Community by Jackson Pires (@jackson_pires).</description>
    <link>https://dev.to/jackson_pires</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2771341%2F2abf5803-7cb4-40a2-855d-7bca483cc13e.jpg</url>
      <title>DEV Community: Jackson Pires</title>
      <link>https://dev.to/jackson_pires</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jackson_pires"/>
    <language>en</language>
    <item>
      <title>🇺🇸 3 Essential Gems to Eliminate Friction in Your Rails Workflow</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Thu, 04 Jun 2026 21:48:37 +0000</pubDate>
      <link>https://dev.to/videosdeti/3-essential-gems-to-eliminate-friction-in-your-rails-workflow-3fap</link>
      <guid>https://dev.to/videosdeti/3-essential-gems-to-eliminate-friction-in-your-rails-workflow-3fap</guid>
      <description>&lt;p&gt;Anyone who works with Ruby on Rails knows that, despite the framework being incredible for productivity, there are some classic workflow deficiencies that haunt almost every project. &lt;/p&gt;

&lt;p&gt;You are focused on writing code, but suddenly you need to open an external tool like Postman to test a route. Then, you run a complex script to generate a static database diagram. And at the end of the day, you still need to manually update the API documentation, which will inevitably become outdated in the next sprint.&lt;/p&gt;

&lt;p&gt;This constant context switching and manual maintenance generates enormous friction. To cover these deficiencies, I developed three gems that bring these tools &lt;strong&gt;inside&lt;/strong&gt; your application. They are so practical that they quickly become indispensable in any Rails project. Meet each one of them:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;code&gt;rails-api-docs&lt;/code&gt;: The End of Outdated Documentation]
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/jacksonpires/rails-api-docs" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-api-docs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The deficiency:&lt;/strong&gt; API documentation always starts with good intentions, but as the system evolves—new routes, parameters, and response fields—it quickly stops representing reality. Keeping this updated manually is repetitive and frustrating work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The solution:&lt;/strong&gt; The &lt;code&gt;rails-api-docs&lt;/code&gt; gem solves this by leveraging what Rails already knows. It inspects your routes, controllers (via AST analysis using Prism), and the ActiveRecord schema to automatically generate the first draft of your documentation. Everything is saved in a single YAML file (&lt;code&gt;config/rails-api-docs.yml&lt;/code&gt;), which serves as the single source of truth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it is indispensable:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Append-only strategy:&lt;/strong&gt; When adding new routes and running the generator, the gem only appends what's new. Your descriptions, custom examples, and tags are never modified or deleted, making the documentation a living document.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero development friction:&lt;/strong&gt; You edit the YAML in one window and view the updated documentation in the browser at &lt;code&gt;localhost:3000/rails/api-docs&lt;/code&gt; instantly, with no build step required. For production, it exports a single static HTML file without any external dependencies.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. &lt;code&gt;rails-http-lab&lt;/code&gt;: Your HTTP Client Right in the App
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/jacksonpires/rails-http-lab" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-http-lab&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The deficiency:&lt;/strong&gt; Testing HTTP endpoints usually requires switching to external tools (like Postman or Insomnia) or creating temporary scripts. Besides the loss of focus, these tools live outside your repository and frequently suffer from CORS issues when trying to access internal services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The solution:&lt;/strong&gt; The &lt;code&gt;rails-http-lab&lt;/code&gt; is a Rails Engine that couples an HTTP request lab inside your own application. By accessing &lt;code&gt;/rails/http-lab&lt;/code&gt;, you have a lightweight interface to test methods, headers, and payloads while visualizing the responses directly in the browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it is indispensable:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stays in the Repository:&lt;/strong&gt; Your requests are saved in &lt;code&gt;.bru&lt;/code&gt; format (interchangeable with the Bruno desktop app) inside the project's &lt;code&gt;docs/http-lab/&lt;/code&gt; folder. This means your API tests are version-controlled in Git and can be easily reviewed in Pull Requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No CORS limits:&lt;/strong&gt; Since the requests are executed by the Rails server itself, you don't have CORS problems and can reach internal services transparently.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. &lt;code&gt;rails-realtime-erd&lt;/code&gt;: Database Diagrams Always in Sync
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/jacksonpires/rails-realtime-erd" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-realtime-erd&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The deficiency:&lt;/strong&gt; Understanding database relationships in a growing project is difficult. Traditional tools generate static diagrams (ERD) that require manual tasks and quickly become outdated as soon as a new migration is executed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The solution:&lt;/strong&gt; The &lt;code&gt;rails-realtime-erd&lt;/code&gt; gem mounts a route at &lt;code&gt;/rails/erd&lt;/code&gt; that renders your schema diagram in real-time using Mermaid, all processed by Hotwire (Stimulus), without relying on complex JavaScript frameworks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it is indispensable:&lt;/strong&gt; &lt;br&gt;
You will never again need to run a rake step to generate a static image file. The introspection is done on the fly: if you run a migration, just refresh the page to see the new tables and relationships reflected in the diagram immediately. It is excellent for onboarding new developers and keeping a live documentation of your architecture.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;These three tools share the same philosophy: &lt;strong&gt;your code already has the necessary knowledge, and the support tools should live as close to it as possible&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Adopting &lt;code&gt;rails-api-docs&lt;/code&gt;, &lt;code&gt;rails-http-lab&lt;/code&gt;, and &lt;code&gt;rails-realtime-erd&lt;/code&gt; drastically reduces daily friction, eliminating external dependencies and manual rework. With simple installation steps, your development environment will become much more productive, robust, and integrated.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>rails</category>
      <category>ruby</category>
      <category>tooling</category>
    </item>
    <item>
      <title>🇧🇷 3 Gems Indispensáveis para Eliminar as Deficiências do seu Fluxo de Trabalho no Rails</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Thu, 04 Jun 2026 21:47:50 +0000</pubDate>
      <link>https://dev.to/videosdeti/3-gems-indispensaveis-para-eliminar-as-deficiencias-do-seu-fluxo-de-trabalho-no-rails-32mg</link>
      <guid>https://dev.to/videosdeti/3-gems-indispensaveis-para-eliminar-as-deficiencias-do-seu-fluxo-de-trabalho-no-rails-32mg</guid>
      <description>&lt;p&gt;Quem trabalha com Ruby on Rails sabe que, embora o framework seja incrível para a produtividade, existem algumas deficiências clássicas no fluxo de desenvolvimento que assombram quase todo projeto. &lt;/p&gt;

&lt;p&gt;Você está focado escrevendo código, mas de repente precisa abrir uma ferramenta externa como o Postman para testar uma rota. Depois, roda um script complexo para gerar um diagrama estático do banco de dados. E, no fim do dia, ainda precisa atualizar manualmente a documentação da API, que fatalmente ficará defasada na próxima sprint. &lt;/p&gt;

&lt;p&gt;Essa constante alternância de contexto e manutenção manual geram um enorme atrito. Para cobrir essas deficiências, eu desenvolvi três gems que trazem essas ferramentas para &lt;strong&gt;dentro&lt;/strong&gt; da sua aplicação. Elas são tão práticas que rapidamente se tornam indispensáveis em qualquer projeto Rails. Conheça cada uma delas:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;code&gt;rails-api-docs&lt;/code&gt;: O Fim da Documentação Desatualizada
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/jacksonpires/rails-api-docs" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-api-docs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;A deficiência:&lt;/strong&gt; A documentação de API sempre começa com boas intenções, mas conforme o sistema evolui — novas rotas, parâmetros e campos na resposta —, ela rapidamente deixa de representar a realidade. Manter isso atualizado manualmente é um trabalho repetitivo e frustrante.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A solução:&lt;/strong&gt; A gem &lt;code&gt;rails-api-docs&lt;/code&gt; resolve isso aproveitando o que o Rails já sabe. Ela inspeciona suas rotas, controllers (via análise AST usando Prism) e o schema do ActiveRecord para gerar automaticamente o primeiro rascunho da sua documentação. Tudo é salvo em um único arquivo YAML (&lt;code&gt;config/rails-api-docs.yml&lt;/code&gt;), que serve como fonte da verdade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Por que é indispensável:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Estratégia &lt;em&gt;Append-only&lt;/em&gt;:&lt;/strong&gt; Ao adicionar novas rotas e rodar o gerador, a gem apenas adiciona o que é novo. Suas descrições, exemplos customizados e tags não são apagados, tornando a documentação um documento vivo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero atrito no desenvolvimento:&lt;/strong&gt; Você edita o YAML de um lado e visualiza a documentação atualizada no navegador em &lt;code&gt;localhost:3000/rails/api-docs&lt;/code&gt; instantaneamente, sem etapa de build. Para produção, ela exporta um único arquivo HTML estático, sem dependências externas.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. &lt;code&gt;rails-http-lab&lt;/code&gt;: Seu Client HTTP Direto na Aplicação
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/jacksonpires/rails-http-lab" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-http-lab&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;A deficiência:&lt;/strong&gt; Testar endpoints HTTP geralmente exige alternar para ferramentas externas (como Postman ou Insomnia) ou criar scripts temporários. Além da perda de foco, essas ferramentas vivem fora do seu repositório e frequentemente sofrem com problemas de CORS ao tentar acessar serviços internos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A solução:&lt;/strong&gt; O &lt;code&gt;rails-http-lab&lt;/code&gt; é uma Rails Engine que acopla um laboratório de requisições HTTP dentro da sua própria aplicação. Ao acessar &lt;code&gt;/rails/http-lab&lt;/code&gt;, você tem uma interface leve para testar métodos, headers e payloads visualizando as respostas diretamente no navegador.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Por que é indispensável:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fica no Repositório:&lt;/strong&gt; As suas requisições são salvas no formato &lt;code&gt;.bru&lt;/code&gt; (compatível com o aplicativo desktop Bruno) dentro da pasta &lt;code&gt;docs/http-lab/&lt;/code&gt; do projeto. Isso significa que os testes da sua API são versionados no Git e podem ser revisados nos Pull Requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sem limites de CORS:&lt;/strong&gt; Como as requisições são executadas pelo próprio servidor Rails, você não tem problemas de CORS e pode alcançar serviços internos de forma transparente.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. &lt;code&gt;rails-realtime-erd&lt;/code&gt;: Diagramas de Banco de Dados Sempre Sincronizados
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/jacksonpires/rails-realtime-erd" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-realtime-erd&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;A deficiência:&lt;/strong&gt; Entender os relacionamentos do banco de dados em um projeto que está crescendo é difícil. As ferramentas tradicionais geram diagramas estáticos (ERD) que exigem tarefas manuais e rapidamente ficam defasados assim que uma nova migration é executada.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A solução:&lt;/strong&gt; A gem &lt;code&gt;rails-realtime-erd&lt;/code&gt; monta uma rota em &lt;code&gt;/rails/erd&lt;/code&gt; que renderiza o diagrama do seu schema em tempo real usando o Mermaid, tudo processado pelo Hotwire (Stimulus), sem depender de frameworks JavaScript complexos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Por que é indispensável:&lt;/strong&gt; &lt;br&gt;
Você nunca mais precisará rodar um passo de rake para gerar um arquivo de imagem estático. A introspecção é feita sob demanda: se você rodar uma migration, basta atualizar a página para ver as tabelas e relacionamentos novos refletidos no diagrama imediatamente. É excelente para o onboarding de novos desenvolvedores e documentação viva da arquitetura.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusão
&lt;/h3&gt;

&lt;p&gt;Essas três ferramentas compartilham a mesma filosofia: &lt;strong&gt;o seu código já possui o conhecimento necessário, e as ferramentas de apoio devem viver o mais próximo possível dele&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Adotar o &lt;code&gt;rails-api-docs&lt;/code&gt;, o &lt;code&gt;rails-http-lab&lt;/code&gt; e o &lt;code&gt;rails-realtime-erd&lt;/code&gt; reduz drasticamente o atrito no dia a dia, eliminando dependências externas e o retrabalho manual. Com passos simples de instalação (basta adicionar ao &lt;code&gt;Gemfile&lt;/code&gt; e rodar um comando), seu ambiente de desenvolvimento se tornará muito mais produtivo, robusto e integrado.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🇺🇸 I Got Tired of Stale API Documentation in Rails — So I Built `rails-api-docs`</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Wed, 03 Jun 2026 12:25:33 +0000</pubDate>
      <link>https://dev.to/videosdeti/i-got-tired-of-stale-api-documentation-in-rails-so-i-built-rails-api-docs-2362</link>
      <guid>https://dev.to/videosdeti/i-got-tired-of-stale-api-documentation-in-rails-so-i-built-rails-api-docs-2362</guid>
      <description>&lt;p&gt;API documentation always starts with good intentions.&lt;/p&gt;

&lt;p&gt;At the beginning of a project, everything is in sync.&lt;/p&gt;

&lt;p&gt;Routes match reality.&lt;/p&gt;

&lt;p&gt;Examples are accurate.&lt;/p&gt;

&lt;p&gt;Parameters make sense.&lt;/p&gt;

&lt;p&gt;Responses reflect exactly what the API returns.&lt;/p&gt;

&lt;p&gt;But as the system evolves, documentation starts falling behind.&lt;/p&gt;

&lt;p&gt;A new route gets added.&lt;/p&gt;

&lt;p&gt;A parameter changes.&lt;/p&gt;

&lt;p&gt;An endpoint gains authentication.&lt;/p&gt;

&lt;p&gt;A response receives new fields.&lt;/p&gt;

&lt;p&gt;And before you realize it, the documentation no longer represents reality.&lt;/p&gt;

&lt;p&gt;If you've worked with Rails APIs for long enough, you've probably experienced this.&lt;/p&gt;

&lt;p&gt;I certainly have.&lt;/p&gt;

&lt;p&gt;And it was exactly that frustration that led me to create &lt;strong&gt;rails-api-docs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/jacksonpires/rails-api-docs" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-api-docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fei63b0nvza955aesy8fa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fei63b0nvza955aesy8fa.png" alt="Rails API Docs" width="799" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea started with a simple question
&lt;/h2&gt;

&lt;p&gt;Your Rails application already knows a lot.&lt;/p&gt;

&lt;p&gt;It knows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;your routes&lt;/li&gt;
&lt;li&gt;your controllers&lt;/li&gt;
&lt;li&gt;your parameters&lt;/li&gt;
&lt;li&gt;your models&lt;/li&gt;
&lt;li&gt;your database schema&lt;/li&gt;
&lt;li&gt;your HTTP verbs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So why should documentation always start from scratch?&lt;/p&gt;

&lt;p&gt;Why do we need to manually rewrite information that already exists inside the application?&lt;/p&gt;

&lt;p&gt;The idea behind &lt;code&gt;rails-api-docs&lt;/code&gt; was to leverage the knowledge Rails already has to generate the first draft of the documentation automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  The workflow I wanted didn't exist
&lt;/h2&gt;

&lt;p&gt;I didn't want another tool where the workflow looked like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;edit documentation
→ generate artifacts
→ rebuild
→ restart server
→ validate changes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I wanted something closer to the typical Rails development experience:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;edit
→ refresh browser
→ keep working
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's where the core concept of the gem came from:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A single editable YAML file that powers both development-time documentation and production-ready documentation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  A single source of truth
&lt;/h2&gt;

&lt;p&gt;The entire workflow revolves around a single file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;config/rails-api-docs.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This file becomes the source of truth for your documentation.&lt;/p&gt;

&lt;p&gt;From it, the gem generates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;live documentation during development&lt;/li&gt;
&lt;li&gt;request examples&lt;/li&gt;
&lt;li&gt;response examples&lt;/li&gt;
&lt;li&gt;documented schemas&lt;/li&gt;
&lt;li&gt;static HTML documentation for production&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You update one file.&lt;/p&gt;

&lt;p&gt;Everything else updates automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;First, generate the initial YAML file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rails g rails-api-docs:init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The gem automatically inspects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Rails.application.routes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;controllers (via Prism AST analysis)&lt;/li&gt;
&lt;li&gt;ActiveRecord schema&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And creates an initial documentation structure.&lt;/p&gt;

&lt;p&gt;Then start your application:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rails server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And visit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:3000/rails/api-docs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Whenever you modify the YAML file, simply refresh the page.&lt;/p&gt;

&lt;p&gt;No build step.&lt;/p&gt;

&lt;p&gt;No frontend tooling.&lt;/p&gt;

&lt;p&gt;No intermediate process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let the code write the first draft
&lt;/h2&gt;

&lt;p&gt;One of the most interesting parts of this project was using Prism to analyze controllers.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:user&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;permit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="ss"&gt;:email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="ss"&gt;:password&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="ss"&gt;:role&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The gem can automatically identify these fields and use them to build the initial documentation structure.&lt;/p&gt;

&lt;p&gt;Combined with ActiveRecord schema information, it can also infer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;field types&lt;/li&gt;
&lt;li&gt;required attributes&lt;/li&gt;
&lt;li&gt;initial examples&lt;/li&gt;
&lt;li&gt;schema metadata&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was never to replace developers.&lt;/p&gt;

&lt;p&gt;The goal was to eliminate repetitive work.&lt;/p&gt;

&lt;p&gt;Let the machine handle what it can already discover.&lt;/p&gt;

&lt;p&gt;And let humans focus on the important part: explaining the API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Documentation updates shouldn't destroy your work
&lt;/h2&gt;

&lt;p&gt;This is probably the feature that frustrated me most in existing approaches.&lt;/p&gt;

&lt;p&gt;You generate documentation.&lt;/p&gt;

&lt;p&gt;Spend time writing descriptions.&lt;/p&gt;

&lt;p&gt;Add examples.&lt;/p&gt;

&lt;p&gt;Organize sections.&lt;/p&gt;

&lt;p&gt;Customize schemas.&lt;/p&gt;

&lt;p&gt;Then you run the generator again.&lt;/p&gt;

&lt;p&gt;And hope nothing gets overwritten.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rails-api-docs&lt;/code&gt; follows an &lt;em&gt;append-only&lt;/em&gt; strategy.&lt;/p&gt;

&lt;p&gt;When you add new routes to your application, simply run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rails g rails-api-docs:update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The gem appends only new endpoints.&lt;/p&gt;

&lt;p&gt;Everything you've written remains untouched.&lt;/p&gt;

&lt;p&gt;That includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;descriptions&lt;/li&gt;
&lt;li&gt;examples&lt;/li&gt;
&lt;li&gt;tags&lt;/li&gt;
&lt;li&gt;authentication details&lt;/li&gt;
&lt;li&gt;schemas&lt;/li&gt;
&lt;li&gt;section organization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In practice, the documentation becomes a living document rather than a disposable artifact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Organizing larger APIs with tags
&lt;/h2&gt;

&lt;p&gt;As APIs grow, navigation becomes increasingly important.&lt;/p&gt;

&lt;p&gt;That's why the gem supports tags:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;auth&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;public&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These tags aren't just labels.&lt;/p&gt;

&lt;p&gt;They also become interactive filters in the generated documentation.&lt;/p&gt;

&lt;p&gt;Clicking a tag instantly filters the navigation to show only endpoints associated with that category.&lt;/p&gt;

&lt;p&gt;This makes large APIs significantly easier to explore.&lt;/p&gt;

&lt;h2&gt;
  
  
  Production should be simple
&lt;/h2&gt;

&lt;p&gt;Another important goal was making deployment boring.&lt;/p&gt;

&lt;p&gt;When you're ready to publish the documentation, simply run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rake rails-api-docs:build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The result is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public/api-docs.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A single HTML file.&lt;/p&gt;

&lt;p&gt;Everything embedded.&lt;/p&gt;

&lt;p&gt;Inline CSS.&lt;/p&gt;

&lt;p&gt;Inline JavaScript.&lt;/p&gt;

&lt;p&gt;No external dependencies.&lt;/p&gt;

&lt;p&gt;No CDN.&lt;/p&gt;

&lt;p&gt;No Asset Pipeline.&lt;/p&gt;

&lt;p&gt;No JavaScript runtime.&lt;/p&gt;

&lt;p&gt;Just a static file that can be hosted almost anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  I'm not trying to replace OpenAPI
&lt;/h2&gt;

&lt;p&gt;There are excellent OpenAPI and Swagger-based tools available today.&lt;/p&gt;

&lt;p&gt;They solve many problems extremely well.&lt;/p&gt;

&lt;p&gt;The goal of &lt;code&gt;rails-api-docs&lt;/code&gt; is not to replace that ecosystem.&lt;/p&gt;

&lt;p&gt;The idea is different.&lt;/p&gt;

&lt;p&gt;I wanted a solution that allows developers to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;generate documentation from an existing Rails application&lt;/li&gt;
&lt;li&gt;edit everything in YAML&lt;/li&gt;
&lt;li&gt;preview changes instantly&lt;/li&gt;
&lt;li&gt;export a static HTML file&lt;/li&gt;
&lt;li&gt;keep documentation synchronized with minimal effort&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's the workflow I was looking for.&lt;/p&gt;

&lt;p&gt;And since I couldn't find exactly what I wanted, I decided to build it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;API documentation should be easy to create and easy to maintain.&lt;/p&gt;

&lt;p&gt;In my experience, generating the first version isn't the hard part.&lt;/p&gt;

&lt;p&gt;Keeping it updated over time is.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rails-api-docs&lt;/code&gt; was created to reduce that friction.&lt;/p&gt;

&lt;p&gt;By inspecting the application to generate a starting point.&lt;/p&gt;

&lt;p&gt;By preserving your customizations over time.&lt;/p&gt;

&lt;p&gt;And by providing an extremely fast feedback loop during development.&lt;/p&gt;

&lt;p&gt;If you'd like to try it out:&lt;/p&gt;

&lt;p&gt;⭐ &lt;a href="https://github.com/jacksonpires/rails-api-docs" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-api-docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback, suggestions, and contributions are always welcome.&lt;/p&gt;

</description>
      <category>api</category>
      <category>opensource</category>
      <category>rails</category>
      <category>showdev</category>
    </item>
    <item>
      <title>🇧🇷 Eu Cansei de Documentação de API Desatualizada no Rails — Então Criei a Gem `rails-api-docs`</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Wed, 03 Jun 2026 12:24:43 +0000</pubDate>
      <link>https://dev.to/videosdeti/eu-cansei-de-documentacao-de-api-desatualizada-no-rails-entao-criei-a-gem-rails-api-docs-jho</link>
      <guid>https://dev.to/videosdeti/eu-cansei-de-documentacao-de-api-desatualizada-no-rails-entao-criei-a-gem-rails-api-docs-jho</guid>
      <description>&lt;p&gt;Documentação de API sempre começa com boas intenções.&lt;/p&gt;

&lt;p&gt;No início do projeto, tudo está sincronizado.&lt;/p&gt;

&lt;p&gt;As rotas batem com a aplicação.&lt;/p&gt;

&lt;p&gt;Os exemplos estão corretos.&lt;/p&gt;

&lt;p&gt;Os parâmetros fazem sentido.&lt;/p&gt;

&lt;p&gt;As respostas refletem exatamente o que a API retorna.&lt;/p&gt;

&lt;p&gt;Mas conforme o sistema evolui, a documentação começa a ficar para trás.&lt;/p&gt;

&lt;p&gt;Uma nova rota é criada.&lt;/p&gt;

&lt;p&gt;Um parâmetro muda.&lt;/p&gt;

&lt;p&gt;Um endpoint ganha autenticação.&lt;/p&gt;

&lt;p&gt;Uma resposta recebe novos campos.&lt;/p&gt;

&lt;p&gt;E, sem perceber, a documentação deixa de representar a realidade.&lt;/p&gt;

&lt;p&gt;Se você trabalha com APIs em Rails há algum tempo, provavelmente já passou por isso.&lt;/p&gt;

&lt;p&gt;Eu certamente já passei.&lt;/p&gt;

&lt;p&gt;E foi justamente essa frustração que me levou a criar o &lt;strong&gt;rails-api-docs&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/jacksonpires/rails-api-docs" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-api-docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fei63b0nvza955aesy8fa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fei63b0nvza955aesy8fa.png" alt="Rails API Docs" width="799" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A ideia surgiu de uma pergunta simples
&lt;/h2&gt;

&lt;p&gt;Sua aplicação Rails já sabe muita coisa.&lt;/p&gt;

&lt;p&gt;Ela conhece:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;suas rotas&lt;/li&gt;
&lt;li&gt;seus controllers&lt;/li&gt;
&lt;li&gt;seus parâmetros&lt;/li&gt;
&lt;li&gt;seus modelos&lt;/li&gt;
&lt;li&gt;seu schema do banco&lt;/li&gt;
&lt;li&gt;seus verbos HTTP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Então por que a documentação precisa começar sempre do zero?&lt;/p&gt;

&lt;p&gt;Por que precisamos reescrever manualmente informações que já existem dentro da aplicação?&lt;/p&gt;

&lt;p&gt;A ideia por trás do &lt;code&gt;rails-api-docs&lt;/code&gt; foi justamente aproveitar esse conhecimento que o Rails já possui para gerar um primeiro rascunho da documentação automaticamente.&lt;/p&gt;

&lt;h2&gt;
  
  
  O workflow que eu queria não existia
&lt;/h2&gt;

&lt;p&gt;Eu não queria mais uma ferramenta onde o fluxo fosse:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;editar documentação
→ gerar artefatos
→ rebuild
→ reiniciar servidor
→ validar alterações
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Eu queria algo mais próximo do desenvolvimento Rails tradicional:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;editar
→ atualizar navegador
→ continuar trabalhando
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Foi daí que surgiu o conceito central da gem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Um único arquivo YAML editável que gera tanto a documentação em desenvolvimento quanto a documentação de produção.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Uma única fonte da verdade
&lt;/h2&gt;

&lt;p&gt;O fluxo da gem gira em torno de apenas um arquivo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;config/rails-api-docs.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esse arquivo é a fonte da verdade para toda a documentação.&lt;/p&gt;

&lt;p&gt;A partir dele a gem gera:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;visualização em tempo real durante o desenvolvimento&lt;/li&gt;
&lt;li&gt;exemplos de requisição&lt;/li&gt;
&lt;li&gt;exemplos de resposta&lt;/li&gt;
&lt;li&gt;schemas documentados&lt;/li&gt;
&lt;li&gt;documentação HTML estática para produção&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Você altera um único lugar.&lt;/p&gt;

&lt;p&gt;Todo o resto é atualizado automaticamente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como funciona
&lt;/h2&gt;

&lt;p&gt;Primeiro você gera o YAML inicial:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rails g rails-api-docs:init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A gem inspeciona automaticamente:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Rails.application.routes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;controllers (via análise AST usando Prism)&lt;/li&gt;
&lt;li&gt;schema do ActiveRecord&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;E cria uma estrutura inicial de documentação.&lt;/p&gt;

&lt;p&gt;Depois basta subir a aplicação:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rails server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E acessar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:3000/rails/api-docs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sempre que você alterar o YAML, basta atualizar a página.&lt;/p&gt;

&lt;p&gt;Não existe etapa de build durante o desenvolvimento.&lt;/p&gt;

&lt;p&gt;Não existe pipeline frontend.&lt;/p&gt;

&lt;p&gt;Não existe processo intermediário.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deixe o código escrever o primeiro rascunho
&lt;/h2&gt;

&lt;p&gt;Uma das partes mais interessantes do projeto foi utilizar o Prism para analisar controllers.&lt;/p&gt;

&lt;p&gt;Por exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:user&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;permit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="ss"&gt;:email&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="ss"&gt;:password&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="ss"&gt;:role&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A gem consegue identificar automaticamente esses campos e utilizá-los para montar a estrutura inicial da documentação.&lt;/p&gt;

&lt;p&gt;Quando combinamos isso com as informações do ActiveRecord, também é possível inferir:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tipos dos campos&lt;/li&gt;
&lt;li&gt;obrigatoriedade&lt;/li&gt;
&lt;li&gt;exemplos iniciais&lt;/li&gt;
&lt;li&gt;informações do schema&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O objetivo nunca foi substituir o trabalho do desenvolvedor.&lt;/p&gt;

&lt;p&gt;O objetivo foi eliminar tarefas repetitivas.&lt;/p&gt;

&lt;p&gt;Deixar a máquina fazer aquilo que ela consegue descobrir sozinha.&lt;/p&gt;

&lt;p&gt;E deixar os humanos cuidarem da parte importante: explicar a API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Atualizações não deveriam apagar seu trabalho
&lt;/h2&gt;

&lt;p&gt;Essa talvez seja a característica que mais me incomodava em algumas abordagens existentes.&lt;/p&gt;

&lt;p&gt;Você gera documentação.&lt;/p&gt;

&lt;p&gt;Investe tempo escrevendo descrições.&lt;/p&gt;

&lt;p&gt;Adiciona exemplos.&lt;/p&gt;

&lt;p&gt;Organiza seções.&lt;/p&gt;

&lt;p&gt;Personaliza schemas.&lt;/p&gt;

&lt;p&gt;Então roda novamente o gerador.&lt;/p&gt;

&lt;p&gt;E precisa rezar para não perder nada.&lt;/p&gt;

&lt;p&gt;No &lt;code&gt;rails-api-docs&lt;/code&gt; o YAML segue uma estratégia &lt;em&gt;append-only&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Quando você adiciona novas rotas à aplicação basta executar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rails g rails-api-docs:update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A gem adiciona apenas os endpoints novos.&lt;/p&gt;

&lt;p&gt;Todo o conteúdo que você escreveu continua intacto.&lt;/p&gt;

&lt;p&gt;Isso inclui:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;descrições&lt;/li&gt;
&lt;li&gt;exemplos&lt;/li&gt;
&lt;li&gt;tags&lt;/li&gt;
&lt;li&gt;autenticação&lt;/li&gt;
&lt;li&gt;schemas&lt;/li&gt;
&lt;li&gt;organização das seções&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Na prática, a documentação deixa de ser um artefato descartável e passa a ser um documento vivo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Organizando APIs maiores com Tags
&lt;/h2&gt;

&lt;p&gt;Conforme uma API cresce, navegar pela documentação pode ficar mais difícil.&lt;/p&gt;

&lt;p&gt;Por isso a gem possui suporte a tags:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;auth&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;public&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Essas tags não são apenas informativas.&lt;/p&gt;

&lt;p&gt;Elas também funcionam como filtros interativos na documentação gerada.&lt;/p&gt;

&lt;p&gt;Ao clicar em uma tag, a navegação passa a exibir apenas os endpoints relacionados àquela categoria.&lt;/p&gt;

&lt;p&gt;Isso facilita bastante a exploração de APIs maiores.&lt;/p&gt;

&lt;h2&gt;
  
  
  Produção deveria ser simples
&lt;/h2&gt;

&lt;p&gt;Outro objetivo importante era simplificar o deploy da documentação.&lt;/p&gt;

&lt;p&gt;Quando chega o momento de publicar, basta executar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rake rails-api-docs:build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O resultado é:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public/api-docs.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Um único arquivo HTML.&lt;/p&gt;

&lt;p&gt;Tudo embutido.&lt;/p&gt;

&lt;p&gt;CSS inline.&lt;/p&gt;

&lt;p&gt;JavaScript inline.&lt;/p&gt;

&lt;p&gt;Sem dependências externas.&lt;/p&gt;

&lt;p&gt;Sem CDN.&lt;/p&gt;

&lt;p&gt;Sem Asset Pipeline.&lt;/p&gt;

&lt;p&gt;Sem runtime JavaScript.&lt;/p&gt;

&lt;p&gt;Apenas um arquivo estático que pode ser hospedado praticamente em qualquer lugar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Não estou tentando substituir OpenAPI
&lt;/h2&gt;

&lt;p&gt;Existem excelentes ferramentas baseadas em OpenAPI e Swagger.&lt;/p&gt;

&lt;p&gt;Elas resolvem muito bem diversos cenários.&lt;/p&gt;

&lt;p&gt;O objetivo do &lt;code&gt;rails-api-docs&lt;/code&gt; não é substituir esse ecossistema.&lt;/p&gt;

&lt;p&gt;A proposta é diferente.&lt;/p&gt;

&lt;p&gt;Eu queria uma solução que permitisse:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gerar documentação a partir de uma aplicação Rails existente&lt;/li&gt;
&lt;li&gt;editar tudo em YAML&lt;/li&gt;
&lt;li&gt;visualizar mudanças instantaneamente&lt;/li&gt;
&lt;li&gt;exportar um HTML estático&lt;/li&gt;
&lt;li&gt;manter a documentação sincronizada com pouco esforço&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Era esse workflow que eu procurava.&lt;/p&gt;

&lt;p&gt;E como não encontrei exatamente dessa forma, resolvi construir.&lt;/p&gt;

&lt;h2&gt;
  
  
  Considerações finais
&lt;/h2&gt;

&lt;p&gt;Documentação de API deveria ser simples de criar e simples de manter.&lt;/p&gt;

&lt;p&gt;Na minha experiência, o maior problema não é gerar a primeira versão.&lt;/p&gt;

&lt;p&gt;O desafio é mantê-la atualizada ao longo do tempo.&lt;/p&gt;

&lt;p&gt;O &lt;code&gt;rails-api-docs&lt;/code&gt; nasceu justamente para reduzir esse atrito.&lt;/p&gt;

&lt;p&gt;Inspecionando a aplicação para gerar um ponto de partida.&lt;/p&gt;

&lt;p&gt;Preservando suas customizações ao longo do tempo.&lt;/p&gt;

&lt;p&gt;E oferecendo um ciclo de feedback extremamente rápido durante o desenvolvimento.&lt;/p&gt;

&lt;p&gt;Se quiser experimentar:&lt;/p&gt;

&lt;p&gt;⭐ &lt;a href="https://github.com/jacksonpires/rails-api-docs" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-api-docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedbacks, sugestões e contribuições são muito bem-vindos.&lt;/p&gt;

</description>
      <category>api</category>
      <category>rails</category>
      <category>ruby</category>
      <category>showdev</category>
    </item>
    <item>
      <title>🇺🇸 Introducing Rails HTTP Lab: Test Your Rails Routes Directly Inside Your Application</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Fri, 29 May 2026 17:57:35 +0000</pubDate>
      <link>https://dev.to/videosdeti/introducing-rails-http-lab-test-your-rails-routes-directly-inside-your-application-1c5</link>
      <guid>https://dev.to/videosdeti/introducing-rails-http-lab-test-your-rails-routes-directly-inside-your-application-1c5</guid>
      <description>&lt;p&gt;When working with &lt;strong&gt;Ruby on Rails&lt;/strong&gt;, testing HTTP endpoints is part of everyday development.&lt;/p&gt;

&lt;p&gt;Most of the time, we rely on tools like Postman, Insomnia, curl, or even temporary scripts just to validate requests, headers, payloads, and responses.&lt;/p&gt;

&lt;p&gt;But during development, I found myself asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if I could test my Rails routes directly from inside the application itself?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That idea led me to create &lt;strong&gt;Rails HTTP Lab&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhnqah4ca30mzkmbfa8z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhnqah4ca30mzkmbfa8z.png" alt="Rails HTTP Lab" width="799" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Rails HTTP Lab?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;rails-http-lab&lt;/code&gt; is a Rails Engine that provides an embedded interface inside your Rails application to test HTTP requests against your own routes.&lt;/p&gt;

&lt;p&gt;Think of it as a lightweight HTTP client focused on your Rails app.&lt;/p&gt;

&lt;p&gt;With it, you can experiment with your endpoints without constantly switching between your editor, terminal, browser, and external API tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;Current capabilities include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support for common HTTP verbs&lt;/li&gt;
&lt;li&gt;Send request parameters and payloads&lt;/li&gt;
&lt;li&gt;Inspect responses directly in the browser&lt;/li&gt;
&lt;li&gt;Mountable Rails Engine&lt;/li&gt;
&lt;li&gt;Seamless integration with your Rails development workflow&lt;/li&gt;
&lt;li&gt;Simple setup&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;Add the gem to your Gemfile:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s2"&gt;"rails-http-lab"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bundle &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now start your Rails server and access:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/rails/http-lab
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And you're ready to start testing your routes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why build this?
&lt;/h2&gt;

&lt;p&gt;I wanted something that felt more integrated with the Rails developer experience.&lt;/p&gt;

&lt;p&gt;External API clients are great, but sometimes you simply want a quick way to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;test an endpoint&lt;/li&gt;
&lt;li&gt;tweak parameters&lt;/li&gt;
&lt;li&gt;inspect responses&lt;/li&gt;
&lt;li&gt;validate controller behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…without leaving your application context.&lt;/p&gt;

&lt;p&gt;Rails HTTP Lab was created to reduce that friction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open Source &amp;amp; Feedback Welcome
&lt;/h2&gt;

&lt;p&gt;The project is open source and still evolving.&lt;/p&gt;

&lt;p&gt;If you like the idea, have suggestions, or want to contribute, feel free to check out the repository:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/jacksonpires/rails-http-lab" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-http-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback, issues, PRs, and ideas are very welcome.&lt;/p&gt;

&lt;p&gt;Happy hacking 🚀&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Special thanks to Vini (&lt;a href="https://github.com/viniwenz" rel="noopener noreferrer"&gt;https://github.com/viniwenz&lt;/a&gt;) and Karine (&lt;a href="https://github.com/karinevieira" rel="noopener noreferrer"&gt;https://github.com/karinevieira&lt;/a&gt;) for helping me with testing!&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>rails</category>
      <category>ruby</category>
      <category>testing</category>
    </item>
    <item>
      <title>🇧🇷 Apresentando Rails HTTP Lab: teste rotas Rails diretamente dentro da sua aplicação</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Fri, 29 May 2026 17:55:55 +0000</pubDate>
      <link>https://dev.to/videosdeti/apresentando-rails-http-lab-teste-rotas-rails-diretamente-dentro-da-sua-aplicacao-3lbe</link>
      <guid>https://dev.to/videosdeti/apresentando-rails-http-lab-teste-rotas-rails-diretamente-dentro-da-sua-aplicacao-3lbe</guid>
      <description>&lt;p&gt;Quem trabalha com &lt;strong&gt;Ruby on Rails&lt;/strong&gt; sabe que testar endpoints HTTP faz parte da rotina de desenvolvimento.&lt;/p&gt;

&lt;p&gt;Na maioria das vezes usamos ferramentas como Postman, Insomnia, curl ou até scripts temporários apenas para validar requests, headers, payloads e responses.&lt;/p&gt;

&lt;p&gt;Mas durante o desenvolvimento eu comecei a me perguntar:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;E se fosse possível testar as rotas da própria aplicação Rails diretamente de dentro dela?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Foi dessa ideia que nasceu o &lt;strong&gt;Rails HTTP Lab&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34h6pygscuiqathwuz6e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34h6pygscuiqathwuz6e.png" alt="Rails HTTP Lab" width="799" height="548"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é o Rails HTTP Lab?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;rails-http-lab&lt;/code&gt; é uma Rails Engine que adiciona uma interface integrada à sua aplicação para testar requisições HTTP contra as próprias rotas da aplicação.&lt;/p&gt;

&lt;p&gt;Pense nele como um cliente HTTP leve, mas focado no seu ambiente Rails.&lt;/p&gt;

&lt;p&gt;Com ele você pode experimentar endpoints sem precisar alternar constantemente entre editor, terminal, navegador e ferramentas externas de API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Funcionalidades
&lt;/h2&gt;

&lt;p&gt;Atualmente a gem oferece:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Suporte aos principais verbos HTTP&lt;/li&gt;
&lt;li&gt;Envio de parâmetros e payloads&lt;/li&gt;
&lt;li&gt;Visualização das responses diretamente no navegador&lt;/li&gt;
&lt;li&gt;Rails Engine mountável&lt;/li&gt;
&lt;li&gt;Integração natural com o fluxo de desenvolvimento Rails&lt;/li&gt;
&lt;li&gt;Configuração simples&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Instalação
&lt;/h2&gt;

&lt;p&gt;Adicione a gem ao seu Gemfile:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s2"&gt;"rails-http-lab"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Depois instale:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bundle &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora basta iniciar o servidor Rails e acessar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/rails/http-lab
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pronto. Você já pode começar a testar suas rotas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que criar isso?
&lt;/h2&gt;

&lt;p&gt;Eu queria algo mais integrado à experiência de desenvolvimento com Rails.&lt;/p&gt;

&lt;p&gt;Ferramentas externas de API são excelentes, mas às vezes você só precisa de uma forma rápida de:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;testar um endpoint&lt;/li&gt;
&lt;li&gt;ajustar parâmetros&lt;/li&gt;
&lt;li&gt;inspecionar responses&lt;/li&gt;
&lt;li&gt;validar o comportamento do controller&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…sem sair do contexto da própria aplicação.&lt;/p&gt;

&lt;p&gt;O Rails HTTP Lab surgiu justamente para reduzir esse atrito.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open Source e feedback são bem-vindos
&lt;/h2&gt;

&lt;p&gt;O projeto é open source e ainda está evoluindo.&lt;/p&gt;

&lt;p&gt;Se a ideia parece interessante, você tem sugestões ou quer contribuir, confira o repositório:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/jacksonpires/rails-http-lab" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-http-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Issues, PRs, feedbacks e ideias são muito bem-vindos.&lt;/p&gt;

&lt;p&gt;Happy coding 🚀&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Agradecimento especial a Vini (&lt;a href="https://github.com/viniwenz" rel="noopener noreferrer"&gt;https://github.com/viniwenz&lt;/a&gt;) e Karine (&lt;a href="https://github.com/karinevieira" rel="noopener noreferrer"&gt;https://github.com/karinevieira&lt;/a&gt;) que me ajudaram nos testes!&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>rails</category>
      <category>ruby</category>
      <category>testing</category>
    </item>
    <item>
      <title>🇺🇸 Rails Realtime ERD: Visualize Your Rails Schema in Real Time</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Wed, 27 May 2026 13:23:42 +0000</pubDate>
      <link>https://dev.to/videosdeti/rails-realtime-erd-visualize-your-rails-schema-in-real-time-4ha</link>
      <guid>https://dev.to/videosdeti/rails-realtime-erd-visualize-your-rails-schema-in-real-time-4ha</guid>
      <description>&lt;p&gt;Anyone who works with &lt;strong&gt;Ruby on Rails&lt;/strong&gt; applications knows that, as a project grows, quickly understanding the relationships between models can become increasingly difficult.&lt;/p&gt;

&lt;p&gt;Even when using traditional ERD (&lt;em&gt;Entity Relationship Diagram&lt;/em&gt;) generation tools, there is usually some friction in the workflow: generating files, manually updating diagrams, or relying on external processes.&lt;/p&gt;

&lt;p&gt;With that in mind, I created the &lt;strong&gt;Rails Realtime ERD&lt;/strong&gt; gem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4mivebeq82k0e4kpy8a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4mivebeq82k0e4kpy8a.png" alt=" " width="799" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Rails Realtime ERD?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;rails-realtime-erd&lt;/strong&gt; is a Ruby on Rails gem that allows you to &lt;strong&gt;visualize your schema ERD diagrams in real time directly inside your application&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install the gem&lt;/li&gt;
&lt;li&gt;Add it to your project&lt;/li&gt;
&lt;li&gt;Open a route&lt;/li&gt;
&lt;li&gt;See your diagram automatically updated&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No manual image generation. No intermediate exports. No leaving your application context.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ Real-time schema visualization
&lt;/li&gt;
&lt;li&gt;✅ Simple integration with Rails applications
&lt;/li&gt;
&lt;li&gt;✅ Built on Rails Engine
&lt;/li&gt;
&lt;li&gt;✅ Automatic updates as your models evolve
&lt;/li&gt;
&lt;li&gt;✅ Integrated web interface&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perfect for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding existing architectures&lt;/li&gt;
&lt;li&gt;Onboarding new developers&lt;/li&gt;
&lt;li&gt;Quickly exploring model relationships&lt;/li&gt;
&lt;li&gt;Keeping living documentation of your application's domain&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;Add the gem to your &lt;code&gt;Gemfile&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s2"&gt;"rails-realtime-erd"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bundle &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now simply access:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/rails/erd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;in your project to visualize your diagram.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why create this gem?
&lt;/h2&gt;

&lt;p&gt;During consulting work, training sessions, and Rails application development, I often felt the lack of a more dynamic experience for inspecting an application's domain.&lt;/p&gt;

&lt;p&gt;I wanted something closer to the experience we already have with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/rails/mailers&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/sidekiq&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;internal dashboards&lt;/li&gt;
&lt;li&gt;integrated development tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words: &lt;strong&gt;open a URL and start exploring immediately&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That's how Rails Realtime ERD was born.&lt;/p&gt;

&lt;h2&gt;
  
  
  Open Source Project
&lt;/h2&gt;

&lt;p&gt;The gem is open source and available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/jacksonpires/rails-realtime-erd" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-realtime-erd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Contributions, feedback, issues, and suggestions are very welcome.&lt;/p&gt;

&lt;p&gt;If you work with Rails and enjoy tools that improve productivity and architectural understanding, give it a try.&lt;/p&gt;

</description>
      <category>database</category>
      <category>rails</category>
      <category>ruby</category>
      <category>showdev</category>
    </item>
    <item>
      <title>🇧🇷 Rails Realtime ERD: visualize seu schema Rails em tempo real</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Wed, 27 May 2026 13:10:31 +0000</pubDate>
      <link>https://dev.to/videosdeti/rails-realtime-erd-visualize-seu-schema-rails-em-tempo-real-63k</link>
      <guid>https://dev.to/videosdeti/rails-realtime-erd-visualize-seu-schema-rails-em-tempo-real-63k</guid>
      <description>&lt;p&gt;Quem trabalha com aplicações &lt;strong&gt;Ruby on Rails&lt;/strong&gt; sabe que, conforme o projeto cresce, entender rapidamente as relações entre modelos pode se tornar cada vez mais difícil.&lt;/p&gt;

&lt;p&gt;Mesmo utilizando ferramentas tradicionais de geração de ERD (&lt;em&gt;Entity Relationship Diagram&lt;/em&gt;), normalmente existe um pequeno atrito no fluxo: gerar arquivos, atualizar diagramas manualmente ou depender de processos externos.&lt;/p&gt;

&lt;p&gt;Pensando nisso, criei a gem &lt;strong&gt;Rails Realtime ERD&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4mivebeq82k0e4kpy8a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4mivebeq82k0e4kpy8a.png" alt=" " width="799" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é o Rails Realtime ERD?
&lt;/h2&gt;

&lt;p&gt;O &lt;strong&gt;rails-realtime-erd&lt;/strong&gt; é uma gem para Ruby on Rails que permite &lt;strong&gt;visualizar diagramas ERD do seu schema em tempo real diretamente dentro da aplicação&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A proposta é simples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instalar a gem&lt;/li&gt;
&lt;li&gt;Montar a engine no projeto&lt;/li&gt;
&lt;li&gt;Abrir uma rota&lt;/li&gt;
&lt;li&gt;Ver seu diagrama atualizado automaticamente&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sem geração manual de imagens. Sem exportações intermediárias. Sem sair do contexto da aplicação.&lt;/p&gt;

&lt;h2&gt;
  
  
  Principais recursos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ Visualização do schema em tempo real
&lt;/li&gt;
&lt;li&gt;✅ Integração simples com aplicações Rails
&lt;/li&gt;
&lt;li&gt;✅ Baseado em Rails Engine
&lt;/li&gt;
&lt;li&gt;✅ Atualizações automáticas conforme seus models evoluem
&lt;/li&gt;
&lt;li&gt;✅ Interface web integrada ao projeto&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ideal para:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Entender arquiteturas existentes&lt;/li&gt;
&lt;li&gt;Onboarding de novos desenvolvedores&lt;/li&gt;
&lt;li&gt;Exploração rápida de relacionamentos entre modelos&lt;/li&gt;
&lt;li&gt;Documentação viva do domínio da aplicação&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Instalação
&lt;/h2&gt;

&lt;p&gt;Adicione a gem ao seu &lt;code&gt;Gemfile&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s2"&gt;"rails-realtime-erd"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Depois:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bundle &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora basta acessar&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/rails/erd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;em seu projeto e visualizar seu diagrama.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que criar essa gem?
&lt;/h2&gt;

&lt;p&gt;Durante consultorias, cursos e desenvolvimento de aplicações Rails, frequentemente senti falta de uma experiência mais dinâmica para inspeção do domínio da aplicação.&lt;/p&gt;

&lt;p&gt;Queria algo próximo da experiência que temos com:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/rails/mailers&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/sidekiq&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;dashboards internos&lt;/li&gt;
&lt;li&gt;ferramentas de desenvolvimento integradas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ou seja: &lt;strong&gt;abrir uma URL e começar a explorar imediatamente&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Foi daí que nasceu o Rails Realtime ERD.&lt;/p&gt;

&lt;h2&gt;
  
  
  Projeto Open Source
&lt;/h2&gt;

&lt;p&gt;A gem é open source e está disponível no GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/jacksonpires/rails-realtime-erd" rel="noopener noreferrer"&gt;https://github.com/jacksonpires/rails-realtime-erd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Contribuições, feedbacks, issues e sugestões são muito bem-vindos.&lt;/p&gt;

&lt;p&gt;Se você trabalha com Rails e gosta de ferramentas para melhorar produtividade e entendimento de arquitetura, vale a pena experimentar.&lt;/p&gt;

</description>
      <category>database</category>
      <category>rails</category>
      <category>ruby</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Instalando o PostgreSQL no WSL (Windows Subsystem Linux)</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Sat, 15 Mar 2025 13:40:55 +0000</pubDate>
      <link>https://dev.to/videosdeti/instalando-o-postgresql-no-wsl-windows-subsystem-linux-56a9</link>
      <guid>https://dev.to/videosdeti/instalando-o-postgresql-no-wsl-windows-subsystem-linux-56a9</guid>
      <description>&lt;p&gt;Muitos perguntam se é possível usar o PostgreSQL dentro do WSL do Windows para trabalhar com o Rails e a resposta é sim!&lt;/p&gt;

&lt;p&gt;Abaixo segue um vídeo onde mostro como fazer esse essa instalação/configuração.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/cKGVQUin1bA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>postgres</category>
      <category>rails</category>
      <category>linux</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Instalando o VSCode, Rails e testando a instalação (Windows)</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Sat, 15 Mar 2025 13:24:33 +0000</pubDate>
      <link>https://dev.to/videosdeti/instalando-o-vscode-rails-e-testando-a-instalacao-windows-5fmf</link>
      <guid>https://dev.to/videosdeti/instalando-o-vscode-rails-e-testando-a-instalacao-windows-5fmf</guid>
      <description>&lt;p&gt;No vídeo abaixo mostro como instalar o VSCode e Rails no Windows.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/LyCDsPjboxM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>rails</category>
      <category>vscode</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Instalando o RVM no WSL</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Sat, 15 Mar 2025 13:22:52 +0000</pubDate>
      <link>https://dev.to/videosdeti/instalando-o-rvm-no-wsl-32lf</link>
      <guid>https://dev.to/videosdeti/instalando-o-rvm-no-wsl-32lf</guid>
      <description>&lt;p&gt;Após a instalação do WSL podemos instalar o RVM (Ruby Version Manager) para que possamos gerenciar as versões do Ruby de forma mais fácil.&lt;/p&gt;

&lt;p&gt;Abaixo segue um vídeo onde mostro como fazer esse essa instalação/configuração.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/naswiUjtq58"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>ruby</category>
      <category>linux</category>
    </item>
    <item>
      <title>Como instalar o WSL no Windows 11</title>
      <dc:creator>Jackson Pires</dc:creator>
      <pubDate>Sat, 15 Mar 2025 13:20:25 +0000</pubDate>
      <link>https://dev.to/videosdeti/como-instalar-o-wsl-no-windows-11-2b9d</link>
      <guid>https://dev.to/videosdeti/como-instalar-o-wsl-no-windows-11-2b9d</guid>
      <description>&lt;p&gt;É certo que para usarmos o Ruby on Rails é melhor que estejamos em um ambiente *NIX, sendo assim, uma das alternativas para quem usa Windows é instalar o WSL (Windows Subsystem Linux) a fim de desfrutar desse tipo de ambiente.&lt;/p&gt;

&lt;p&gt;Abaixo segue um vídeo onde mostro como fazer esse processo que é relativamente simples mas que traz um enorme benefício para quem usa Windows.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/XSf_hgtd1jo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>linux</category>
      <category>rails</category>
    </item>
  </channel>
</rss>
