Ruby QR Code Integration

Generate QR codes in Ruby and Ruby on Rails applications using the QR Code API.

Quick Start

Generate a QR code in Ruby using Net::HTTP:

Ruby - Basic Example
require 'net/http'
require 'json'
require 'uri'

def generate_qr_code(data, options = {})
  uri = URI('https://www.qrcodeapi.io/api/generate')
  
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  
  request = Net::HTTP::Post.new(uri.path)
  request['Authorization'] = "Bearer #{ENV['QR_API_KEY']}"
  request['Content-Type'] = 'application/json'
  
  request.body = {
    data: data,
    size: options[:size] || 300,
    format: options[:format] || 'png'
  }.to_json
  
  response = http.request(request)
  response.body
end

# Generate and save a QR code
qr_code = generate_qr_code('https://example.com')
File.binwrite('qrcode.png', qr_code)

Ruby on Rails Integration

Create a service class for Rails applications:

app/services/qr_code_service.rb
class QrCodeService
  BASE_URL = 'https://www.qrcodeapi.io/api'
  
  def initialize
    @api_key = Rails.application.credentials.qr_api_key
  end
  
  def generate(data, size: 300, format: 'png')
    uri = URI("#{BASE_URL}/generate")
    
    response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
      request = Net::HTTP::Post.new(uri)
      request['Authorization'] = "Bearer #{@api_key}"
      request['Content-Type'] = 'application/json'
      request.body = { data: data, size: size, format: format }.to_json
      
      http.request(request)
    end
    
    if response.is_a?(Net::HTTPSuccess)
      response.body
    else
      raise "QR generation failed: #{response.code}"
    end
  end
end

Controller Example

app/controllers/qr_codes_controller.rb
class QrCodesController < ApplicationController
  def show
    qr_service = QrCodeService.new
    qr_image = qr_service.generate(params[:url])
    
    send_data qr_image,
              type: 'image/png',
              disposition: 'inline'
  end
  
  def download
    qr_service = QrCodeService.new
    qr_image = qr_service.generate(params[:url])
    
    send_data qr_image,
              type: 'image/png',
              filename: 'qrcode.png',
              disposition: 'attachment'
  end
end

Ready to Integrate with Ruby?

Get your free API key and start generating QR codes in your Rails app.

Get Your Free API Key