rQRCode, Encode QRCodes

rQRCode is a library for encoding QR Codes in Ruby. It has a simple interface with all the standard qrcode options. It was adapted from the Javascript library by Kazuhiko Arase.

RubyForge Project Page rubyforge.org/projects/rqrcode/

An Overview

Let‘s clear up some rQRCode stuff.

 # rQRCode is a *standalone library*. It requires no other libraries. Just Ruby!
 # It is an encoding library. You can't decode QR codes with it.
 # The interface is simple and assumes you just want to encode a string into a QR code
 # QR code is trademarked by Denso Wave inc

Resources

wikipedia:en.wikipedia.org/wiki/QR_Code
Denso-Wave website:www.denso-wave.com/qrcode/index-e.html
kaywa:qrcode.kaywa.com

Installing

You may get the latest stable version from Rubyforge.

  $ gem install rqrcode

You can also get the source from github.com/whomwah/rqrcode/tree/master

  $ git clone git://github.com/whomwah/rqrcode.git

Loading rQRCode Itself

You have installed the gem already, yeah?

 require 'rubygems'
 require 'rqrcode'

Simple QRCode generation to screen

 qr = RQRCode::QRCode.new( 'my string to generate', :size => 4, :level => :h )
 puts qr.to_s
 #
 # Prints:
 # xxxxxxx x  x x   x x  xx  xxxxxxx
 # x     x  xxx  xxxxxx xxx  x     x
 # x xxx x  xxxxx x       xx x xxx x
 # ... etc

Simple QRCode generation to view (RubyOnRails)

Controller:

 @qr = RQRCode::QRCode.new( 'my string to generate', :size => 4, :level => :h )

View: (minimal styling added)

 <style type="text/css">
 table {
   border-width: 0;
   border-style: none;
   border-color: #0000ff;
   border-collapse: collapse;
 }
 td {
   border-width: 0;
   border-style: none;
   border-color: #0000ff;
   border-collapse: collapse;
   padding: 0;
   margin: 0;
   width: 10px;
   height: 10px;
 }
 td.black { background-color: #000; }
 td.white { background-color: #fff; }
 </style>

 <table>
 <% @qr.modules.each_index do |x| %>
   <tr>
   <% @qr.modules.each_index do |y| %>
    <% if @qr.is_dark(x,y) %>
     <td class="black"/>
    <% else %>
     <td class="white"/>
    <% end %>
   <% end %>
   </tr>
 <% end %>
 </table>

Contact

Author:Duncan Robertson
Email:duncan@whomwah.com
Home Page:whomwah.com
License:MIT Licence (www.opensource.org/licenses/mit-license.html)