NaixSpirit
7/7/2016 - 5:29 AM

QRcode

QRcode

# encoding: utf-8

module Qrcode
  extend self

  QR_PNG_SIZE    = 160
  QR_SIZE        = 5

  def make str
    tmp = Tempfile.new(["qrcode_#{Time.now.to_i}", ".png"])
    qr  = RQRCode::QRCode.new(str, size: QR_SIZE, level: :h)
    png = qr.to_img

    png.resize(QR_PNG_SIZE, QR_PNG_SIZE).save(tmp.path)
    tmp.path
  end
end

if __FILE__ == $0
  require 'rqrcode_png'

  module Qrcode
    def make str, path, size, level = :h
      qr  = RQRCode::QRCode.new(str, size: size, level: :h)
      png = qr.to_img
      png.resize(QR_PNG_SIZE, QR_PNG_SIZE).save(path)
      path
    end
  end

  Qrcode.make('test', '../tmp/test-q.png', 5, :q)
end