Class: RqrcodeRenderer::Data

Inherits:
Object
  • Object
show all
Defined in:
lib/rqrcode_renderer/data.rb

Class Method Summary collapse

Class Method Details

.build(string, format, options) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/rqrcode_renderer/data.rb', line 9

def build(string, format, options)
  size   = options[:size]  || RqrcodeRenderer::SizeCalculator.minimum_qr_size_from_string(string)
  level  = options[:level] || :h
  color  = options[:color] || '000000'
  offset = options[:offset] || 0

  qrcode = RQRCode::QRCode.new(string, size: size, level: level)

  svg = qrcode.as_svg(color: color, offset: offset)

  if format.to_s == 'svg'
    svg
  else
    image = MiniMagick::Image.read(svg) { |i| i.format 'svg' }
    image.format format
    image.to_blob
  end
end