pngqr 0.4 → 0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +2 -0
- data/Manifest +1 -0
- data/lib/pngqr.rb +2 -2
- data/pngqr.gemspec +4 -3
- data/test/test_all.rb +43 -0
- metadata +5 -4
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
data/lib/pngqr.rb
CHANGED
@@ -18,13 +18,13 @@ class Pngqr
|
|
18
18
|
|
19
19
|
qr = nil
|
20
20
|
if(opthash[:size]) # user supplied size
|
21
|
-
qr = RQRCode::QRCode.new(*opts
|
21
|
+
qr = RQRCode::QRCode.new(*(opts + [opthash]))
|
22
22
|
else
|
23
23
|
# autosize algorithm: start at size=1 and increment until it worked
|
24
24
|
opthash[:size] = 1
|
25
25
|
while qr.nil?
|
26
26
|
qr = begin
|
27
|
-
RQRCode::QRCode.new(*opts
|
27
|
+
RQRCode::QRCode.new(*(opts + [opthash]))
|
28
28
|
rescue RQRCode::QRCodeRunTimeError => e
|
29
29
|
opthash[:size] += 1
|
30
30
|
raise unless e.to_s =~ /overflow/ && opthash[:size] <= 40
|
data/pngqr.gemspec
CHANGED
@@ -2,21 +2,22 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{pngqr}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.5"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Andrew Snow"]
|
9
|
-
s.date = %q{2011-03-
|
9
|
+
s.date = %q{2011-03-18}
|
10
10
|
s.description = %q{Ruby Gem to generate PNG files with QR codes in them}
|
11
11
|
s.email = %q{andrew@modulus.org}
|
12
12
|
s.extra_rdoc_files = ["CHANGELOG", "README", "lib/pngqr.rb"]
|
13
|
-
s.files = ["CHANGELOG", "Manifest", "README", "Rakefile", "lib/pngqr.rb", "pngqr.gemspec"]
|
13
|
+
s.files = ["CHANGELOG", "Manifest", "README", "Rakefile", "lib/pngqr.rb", "test/test_all.rb", "pngqr.gemspec"]
|
14
14
|
s.homepage = %q{}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Pngqr", "--main", "README"]
|
16
16
|
s.require_paths = ["lib"]
|
17
17
|
s.rubyforge_project = %q{pngqr}
|
18
18
|
s.rubygems_version = %q{1.6.2}
|
19
19
|
s.summary = %q{Ruby Gem to generate PNG files with QR codes in them}
|
20
|
+
s.test_files = ["test/test_all.rb"]
|
20
21
|
|
21
22
|
if s.respond_to? :specification_version then
|
22
23
|
s.specification_version = 3
|
data/test/test_all.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
|
2
|
+
require '../lib/pngqr'
|
3
|
+
require 'qrscanner'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'tempfile'
|
6
|
+
|
7
|
+
class TestPngqr < Test::Unit::TestCase
|
8
|
+
def test_autosize
|
9
|
+
(0..3).each do |n|
|
10
|
+
assert_encoded_equals_decoded('x'*(10**n))
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_static_size
|
15
|
+
assert_encoded_equals_decoded('y'*10, :size => 2)
|
16
|
+
assert_encoded_equals_decoded('y'*100, :size => 20)
|
17
|
+
assert_encoded_equals_decoded('y'*1000, :size => 40)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_scale
|
21
|
+
assert_encoded_equals_decoded('hello, world', :scale => 5)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_border
|
25
|
+
assert_encoded_equals_decoded('hello, world', :border => 5)
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
protected
|
30
|
+
def assert_encoded_equals_decoded(*opts)
|
31
|
+
begin
|
32
|
+
str = opts.first
|
33
|
+
@tempfile = Tempfile.new(self.class.to_s)
|
34
|
+
@tempfile.write(Pngqr.encode(*opts))
|
35
|
+
@tempfile.close
|
36
|
+
assert_equal str, QrScanner.decode(@tempfile.path)
|
37
|
+
ensure
|
38
|
+
@tempfile.unlink if @tempfile
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: pngqr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: "0.
|
5
|
+
version: "0.5"
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Andrew Snow
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-03-
|
13
|
+
date: 2011-03-18 00:00:00 +11:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -51,6 +51,7 @@ files:
|
|
51
51
|
- README
|
52
52
|
- Rakefile
|
53
53
|
- lib/pngqr.rb
|
54
|
+
- test/test_all.rb
|
54
55
|
- pngqr.gemspec
|
55
56
|
has_rdoc: true
|
56
57
|
homepage: ""
|
@@ -85,5 +86,5 @@ rubygems_version: 1.6.2
|
|
85
86
|
signing_key:
|
86
87
|
specification_version: 3
|
87
88
|
summary: Ruby Gem to generate PNG files with QR codes in them
|
88
|
-
test_files:
|
89
|
-
|
89
|
+
test_files:
|
90
|
+
- test/test_all.rb
|