Gere Códigos QR com Ruby
A gem rqrcode de Ruby torna a geração de códigos QR simples e elegante. Perfeita para aplicações Rails, scripts e fluxos de automatização.
Instalação
Instale a gem rqrcode usando Bundler ou gem install.
gem 'rqrcode'gem install rqrcodeGerar Códigos QR com rqrcode
Exemplos de código usando a gem rqrcode em Ruby.
QR Code as SVG
require 'rqrcode'
qr = RQRCode::QRCode.new('https://qrcode.fun')
svg = qr.as_svg(
offset: 0,
color: '1A2B3C',
shape_rendering: 'crispEdges',
module_size: 6,
standalone: true
)
File.write('qrcode.svg', svg)QR Code as PNG
require 'rqrcode'
qr = RQRCode::QRCode.new('https://qrcode.fun')
png = qr.as_png(
bit_depth: 1,
border_modules: 4,
color_mode: ChunkyPNG::COLOR_GRAYSCALE,
color: 'black',
file: nil,
fill: 'white',
module_px_size: 6,
resize_exactly_to: false,
resize_gte_to: false,
size: 300
)
IO.binwrite('qrcode.png', png.to_s)Rails Controller
class QrCodesController < ApplicationController
def show
qr = RQRCode::QRCode.new(params[:data] || 'https://qrcode.fun')
svg = qr.as_svg(module_size: 6, standalone: true)
render inline: svg, content_type: 'image/svg+xml'
end
endGerar Códigos QR via API em Ruby
Chame a API do QRCode.fun a partir de Ruby usando Net::HTTP ou Faraday para códigos QR estilizados.
require 'net/http'
require 'json'
uri = URI('https://qrcode.fun/api/generate-qr-styled')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = {
data: 'https://qrcode.fun',
width: 300,
height: 300,
type: 'png',
margin: 10,
dotsOptions: { color: '#1A2B3C', type: 'rounded' },
cornersSquareOptions: { color: '#8564C3', type: 'extra-rounded' },
backgroundOptions: { color: '#FFFFFF' }
}.to_json
response = http.request(request)
result = JSON.parse(response.body)
puts result['data'][0..49]Pré-visualização de Código QR ao Vivo
Experimente gerar um código QR com Ruby agora mesmo.
Biblioteca Nativa vs API
Compare o uso do rqrcode com a API do QRCode.fun.
| Funcionalidade | Gem rqrcode | QRCode.fun API |
|---|---|---|
| Complexidade de configuração | gem install + ChunkyPNG para imagens | Uma única requisição HTTP |
| Personalização | Cores, tamanho do módulo (SVG/PNG) | Estilização completa: cores, formas, logotipos |
| Suporte offline | Sim | Requer internet |
| Manutenção | bundle update | Sempre atualizado |
| Formatos de saída | SVG, PNG, terminal ANSI | PNG, SVG |
Casos de Uso de Códigos QR em Ruby
Cenários comuns para códigos QR em aplicações Ruby.
Aplicações Rails
Gere códigos QR em controladores Rails para perfis de utilizador, bilhetes de eventos e configuração de autenticação de dois fatores.
Tarefas em Background
Crie códigos QR assincronamente com Sidekiq ou Active Job para geração de etiquetas em lote e campanhas de e-mail.
Endpoints de API
Construa endpoints de API que retornam códigos QR como imagens ou SVG para aplicações móveis e integrações de terceiros.
Scripts de Automatização
Escreva scripts Ruby para gerar códigos QR em massa para inventário, etiquetagem de ativos e gestão de eventos.
Mergulho Profundo no Ecossistema de Códigos QR em Ruby
A sintaxe elegante do Ruby e o ecossistema Rails tornam a geração de códigos QR simples e produtiva para aplicações web.
Controladores Rails, Views e Active Storage
No Rails, gere códigos QR nos controladores usando rqrcode e sirva-os como SVG inline ou downloads PNG. Use Active Storage para persistir códigos QR gerados como anexos de modelos — anexe um código QR a um registo Ticket ou Product. O cache de fragmentos do Rails com chaves de cache baseadas no conteúdo QR evita geração redundante. Em aplicações Hotwire/Turbo, gere códigos QR do lado do servidor e entregue-os via Turbo Frames para atualizações dinâmicas sem recarregamento completo da página.
Processamento em Segundo Plano com Sidekiq
Para geração em massa de códigos QR, delegue o trabalho para workers Sidekiq. Crie um GenerateQrCodeJob que produza códigos QR para cenários em lote como bilheteria de eventos, etiquetagem de produtos ou campanhas de correio. Use o recurso de lotes do Sidekiq para rastrear a conclusão de grandes execuções de geração de QR. O cache Redis com uma chave baseada em conteúdo (Digest::SHA256) previne geração duplicada entre workers e serve resultados em cache para requisições repetidas.
Ecossistema de Gems: rqrcode, ChunkyPNG e MiniMagick
O ecossistema de gems do Ruby fornece pipelines flexíveis de renderização de códigos QR. rqrcode gera a matriz QR, depois ChunkyPNG renderiza para PNG sem dependência do ImageMagick — ideal para implantações containerizadas. MiniMagick permite pós-processamento avançado: adição de logotipos, cantos arredondados e fundos com gradiente. Para saída SVG, o renderizador SVG integrado do rqrcode cria códigos QR independentes de resolução, perfeitos para designs web responsivos e materiais impressos.
Perguntas Frequentes
Perguntas comuns sobre a geração de códigos QR com Ruby.
Comece a gerar códigos QR com Ruby
Use o nosso gerador gratuito ou integre a API nas suas aplicações Ruby e Rails.