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