rqrcode 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +5 -0
- data/README +0 -2
- data/lib/rqrcode/qrcode/qr_code.rb +7 -5
- data/test/runtest.rb +21 -1
- metadata +26 -13
data/CHANGELOG
CHANGED
data/README
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
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.
|
4
4
|
|
5
|
-
RubyForge Project Page http://rubyforge.org/projects/rqrcode/
|
6
|
-
|
7
5
|
== An Overview
|
8
6
|
|
9
7
|
Let's clear up some rQRCode stuff.
|
@@ -69,18 +69,21 @@ module RQRCode #:nodoc:
|
|
69
69
|
# qr = RQRCode::QRCode.new('hello world', :size => 1, :level => :m )
|
70
70
|
#
|
71
71
|
|
72
|
-
|
72
|
+
def initialize( *args )
|
73
73
|
raise QRCodeArgumentError unless args.first.kind_of?( String )
|
74
74
|
|
75
75
|
@data = args.shift
|
76
76
|
options = args.extract_options!
|
77
77
|
level = options[:level] || :h
|
78
|
+
|
79
|
+
raise QRCodeArgumentError unless %w(l m q h).include?(level.to_s)
|
80
|
+
|
78
81
|
@error_correct_level = QRERRORCORRECTLEVEL[ level.to_sym ]
|
79
82
|
@type_number = options[:size] || 4
|
80
83
|
@module_count = @type_number * 4 + 17
|
81
|
-
@modules =
|
82
|
-
@data_cache = nil
|
84
|
+
@modules = Array.new( @module_count )
|
83
85
|
@data_list = QR8bitByte.new( @data )
|
86
|
+
@data_cache = nil
|
84
87
|
|
85
88
|
self.make
|
86
89
|
end
|
@@ -149,7 +152,6 @@ module RQRCode #:nodoc:
|
|
149
152
|
|
150
153
|
|
151
154
|
def make_impl( test, mask_pattern ) #:nodoc:
|
152
|
-
@modules = Array.new( @module_count )
|
153
155
|
|
154
156
|
( 0...@module_count ).each do |row|
|
155
157
|
@modules[row] = Array.new( @module_count )
|
@@ -292,7 +294,7 @@ module RQRCode #:nodoc:
|
|
292
294
|
|
293
295
|
if @modules[row][ col - c ].nil?
|
294
296
|
dark = false
|
295
|
-
if byte_index < data.size
|
297
|
+
if byte_index < data.size && !data[byte_index].nil?
|
296
298
|
dark = (( (data[byte_index]).rszf( bit_index ) & 1) == 1 )
|
297
299
|
end
|
298
300
|
mask = QRUtil.get_mask( mask_pattern, row, col - c )
|
data/test/runtest.rb
CHANGED
@@ -72,7 +72,27 @@ class QRCodeTest < Test::Unit::TestCase
|
|
72
72
|
def test_to_s
|
73
73
|
qr = RQRCode::QRCode.new( 'duncan', :size => 1 )
|
74
74
|
assert_equal qr.to_s[0..21], "xxxxxxx xx x xxxxxxx\n"
|
75
|
-
assert_equal qr.to_s( :true => 'q', :false => 'n' )[0..21],
|
75
|
+
assert_equal qr.to_s( :true => 'q', :false => 'n' )[0..21],
|
76
|
+
"qqqqqqqnqqnqnnqqqqqqq\n"
|
76
77
|
assert_equal qr.to_s( :true => '@' )[0..21], "@@@@@@@ @@ @ @@@@@@@\n"
|
77
78
|
end
|
79
|
+
|
80
|
+
def test_rszf_error_not_thrown
|
81
|
+
assert RQRCode::QRCode.new('2 1058 657682')
|
82
|
+
assert RQRCode::QRCode.new("40952", :size => 1, :level => :h)
|
83
|
+
assert RQRCode::QRCode.new("40932", :size => 1, :level => :h)
|
84
|
+
end
|
85
|
+
|
86
|
+
def test_levels
|
87
|
+
assert RQRCode::QRCode.new("duncan", :level => :l)
|
88
|
+
assert RQRCode::QRCode.new("duncan", :level => :m)
|
89
|
+
assert RQRCode::QRCode.new("duncan", :level => :q)
|
90
|
+
assert RQRCode::QRCode.new("duncan", :level => :h)
|
91
|
+
assert_raise(RQRCode::QRCodeArgumentError) {
|
92
|
+
%w(a b c d e f g i j k n o p r s t u v w x y z).each do |ltr|
|
93
|
+
RQRCode::QRCode.new( "duncan", :level => ltr.to_sym )
|
94
|
+
end
|
95
|
+
}
|
96
|
+
end
|
97
|
+
|
78
98
|
end
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rqrcode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 21
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 3
|
10
|
+
version: 0.3.3
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Duncan Robertson
|
@@ -9,11 +15,15 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2011-02-01 00:00:00 +00:00
|
13
19
|
default_executable:
|
14
20
|
dependencies: []
|
15
21
|
|
16
|
-
description:
|
22
|
+
description: |
|
23
|
+
rQRCode is a library for encoding QR Codes. The simple
|
24
|
+
interface allows you to create QR Code data structures
|
25
|
+
ready to be displayed in the way you choose.
|
26
|
+
|
17
27
|
email: duncan@whomwah.com
|
18
28
|
executables: []
|
19
29
|
|
@@ -24,16 +34,11 @@ extra_rdoc_files:
|
|
24
34
|
- CHANGELOG
|
25
35
|
- COPYING
|
26
36
|
files:
|
27
|
-
- lib/rqrcode
|
28
|
-
- lib/rqrcode/core_ext
|
29
|
-
- lib/rqrcode/core_ext/array
|
30
37
|
- lib/rqrcode/core_ext/array/behavior.rb
|
31
38
|
- lib/rqrcode/core_ext/array.rb
|
32
|
-
- lib/rqrcode/core_ext/integer
|
33
39
|
- lib/rqrcode/core_ext/integer/bitwise.rb
|
34
40
|
- lib/rqrcode/core_ext/integer.rb
|
35
41
|
- lib/rqrcode/core_ext.rb
|
36
|
-
- lib/rqrcode/qrcode
|
37
42
|
- lib/rqrcode/qrcode/qr_8bit_byte.rb
|
38
43
|
- lib/rqrcode/qrcode/qr_bit_buffer.rb
|
39
44
|
- lib/rqrcode/qrcode/qr_code.rb
|
@@ -49,30 +54,38 @@ files:
|
|
49
54
|
- CHANGELOG
|
50
55
|
- COPYING
|
51
56
|
has_rdoc: true
|
52
|
-
homepage: http://
|
57
|
+
homepage: http://whomwah.github.com/rqrcode/
|
58
|
+
licenses: []
|
59
|
+
|
53
60
|
post_install_message:
|
54
61
|
rdoc_options: []
|
55
62
|
|
56
63
|
require_paths:
|
57
64
|
- lib
|
58
65
|
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
59
67
|
requirements:
|
60
68
|
- - ">="
|
61
69
|
- !ruby/object:Gem::Version
|
70
|
+
hash: 3
|
71
|
+
segments:
|
72
|
+
- 0
|
62
73
|
version: "0"
|
63
|
-
version:
|
64
74
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
65
76
|
requirements:
|
66
77
|
- - ">="
|
67
78
|
- !ruby/object:Gem::Version
|
79
|
+
hash: 3
|
80
|
+
segments:
|
81
|
+
- 0
|
68
82
|
version: "0"
|
69
|
-
version:
|
70
83
|
requirements: []
|
71
84
|
|
72
85
|
rubyforge_project: rqrcode
|
73
|
-
rubygems_version: 1.
|
86
|
+
rubygems_version: 1.5.0
|
74
87
|
signing_key:
|
75
|
-
specification_version:
|
88
|
+
specification_version: 3
|
76
89
|
summary: A library to encode QR Codes
|
77
90
|
test_files:
|
78
91
|
- test/runtest.rb
|