prawn-qrcode 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Prawn/QRCode: A simple extension to generate and/or render QRCodes for Prawn PDFs
2
2
 
3
- Prawn/QRCode is a Prawn (~> 0.11.1) extension to simplify rendering of QRCodes.
3
+ Prawn/QRCode is a Prawn (>= 0.11.1) extension to simplify rendering of QR Codes*.
4
+
5
+ (*) QR Code is registered trademark of DENSO WAVE INCORPORATED.
6
+ See http://www.denso-wave.com/qrcode/ for more information.
4
7
 
5
8
  ## Install
6
9
 
@@ -43,3 +46,21 @@ For a full list of examples, take a look in the `examples` folder.
43
46
  ## Contributors
44
47
 
45
48
  - [Jens Hausherr](mailto:jabbrwcky@googlemail.com)
49
+ - [Brandon DuRette] (https://github.com/bdurette)
50
+
51
+ ## Changelog
52
+
53
+ ### 0.1.0
54
+ Initial Release
55
+
56
+ ### 0.1.1
57
+ Updated prawn dependency from exact requirement of 0.11.1 to an >=0.11.1, <0.13
58
+
59
+ ### 0.1.2
60
+ Integrated patch to reduce rectangle count, which leads to a overall size reduction
61
+ of the generated PDF (bdurette)
62
+
63
+ ### 0.2.0
64
+ Integrated patch from bdurette to align QR Code within its bounding box.
65
+ Adds the optional parameter :align (:left, :center, :right) to both
66
+ render_qr_code() and print_qr_code()
data/lib/prawn/qrcode.rb CHANGED
@@ -37,11 +37,13 @@ module QRCode
37
37
  # *options:: Named optional parameters
38
38
  #
39
39
  # +:level+:: Error correction level to use. One of: (:l,:m,:h,:q), Defaults to :m
40
- # +:exent+:: Size of QR Code given in pt (1 pt == 1/72 in)
40
+ # +:extent+:: Size of QR Code given in pt (1 pt == 1/72 in)
41
41
  # +:pos+:: Two-element array containing the position at which the QR-Code should be rendered. Defaults to [0,cursor]
42
42
  # +:dot+:: Size of QR Code module/dot. Calculated from extent or defaulting to 1pt
43
43
  # +:stroke+:: boolean value whether to draw bounds around the QR Code.
44
44
  # Defaults to true.
45
+ # +:align+:: Optional alignment within the current bounding box. Valid values are :left, :right, and :center. If set
46
+ # This option overrides the horizontal positioning specified in :pos. Defaults to nil.
45
47
  #
46
48
  def print_qr_code(content, *options)
47
49
  opt = options.extract_options!
@@ -54,7 +56,7 @@ module QRCode
54
56
  qr_code = RQRCode::QRCode.new(content, :size=>qr_version, :level=>level)
55
57
 
56
58
  dot_size = extent/(8+qr_code.modules.length) if extent
57
- render_qr_code(qr_code, :dot=>dot_size, :pos=>opt[:pos], :stroke=>opt[:stroke])
59
+ render_qr_code(qr_code, :dot=>dot_size, :pos=>opt[:pos], :stroke=>opt[:stroke], :align=>opt[:align])
58
60
  rescue RQRCode::QRCodeRunTimeError
59
61
  if qr_version <40
60
62
  retry
@@ -69,10 +71,12 @@ module QRCode
69
71
  # qr_code:: The QR Code (an RQRCode::QRCode) to render
70
72
  #
71
73
  # *options:: Named optional parameters
72
- # +:exent+:: Size of QR Code given in pt (1 pt == 1/72 in)
74
+ # +:extent+:: Size of QR Code given in pt (1 pt == 1/72 in)
73
75
  # +:pos+:: Two-element array containing the position at which the QR-Code should be rendered. Defaults to [0,cursor]
74
76
  # +:dot+:: Size of QR Code module/dot. Calculated from extent or defaulting to 1pt
75
77
  # +:stroke+:: boolean value whether to draw bounds around the QR Code. Defaults to true.
78
+ # +:align+:: Optional alignment within the current bounding box. Valid values are :left, :right, and :center. If set
79
+ # This option overrides the horizontal positioning specified in :pos. Defaults to nil.
76
80
  def render_qr_code(qr_code, *options)
77
81
  opt = options.extract_options!
78
82
  dot = opt[:dot] || DEFAULT_DOTSIZE
@@ -80,6 +84,16 @@ module QRCode
80
84
  stroke = (opt.has_key?(:stroke) && opt[:stroke].nil?) || opt[:stroke]
81
85
  pos = opt[:pos] ||[0, cursor]
82
86
 
87
+ align = opt[:align]
88
+ case(align)
89
+ when :center
90
+ pos[0] = (@bounding_box.right / 2) - (extent / 2)
91
+ when :right
92
+ pos[0] = @bounding_box.right - extent
93
+ when :left
94
+ pos[0] = 0;
95
+ end
96
+
83
97
  bounding_box pos, :width => extent, :height => extent do |box|
84
98
  if stroke
85
99
  stroke_bounds
data/prawn-qrcode.gemspec CHANGED
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- PRAWN_QRCODE_VERSION = "0.1.2"
15
+ PRAWN_QRCODE_VERSION = "0.2.0"
16
16
 
17
17
  Gem::Specification.new do |spec|
18
18
  spec.name = "prawn-qrcode"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prawn-qrcode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-09 00:00:00.000000000Z
12
+ date: 2011-09-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: prawn
16
- requirement: &70253615183240 !ruby/object:Gem::Requirement
16
+ requirement: &70349245069560 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -24,10 +24,10 @@ dependencies:
24
24
  version: '0.13'
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *70253615183240
27
+ version_requirements: *70349245069560
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rqrcode
30
- requirement: &70253615182520 !ruby/object:Gem::Requirement
30
+ requirement: &70349245068840 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,7 +35,7 @@ dependencies:
35
35
  version: 0.4.1
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *70253615182520
38
+ version_requirements: *70349245068840
39
39
  description: ! " Prawn/QRCode simplifies the generation and rendering of QRCodes
40
40
  in Prawn PDF documents.\n QR Codes\n"
41
41
  email: