Module: SpreeCmCommissioner::OrderQrCodeable

Defined in:
app/models/concerns/spree_cm_commissioner/order_qr_codeable.rb

Instance Method Summary collapse

Instance Method Details

#generate_png_qr(size = 120) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/models/concerns/spree_cm_commissioner/order_qr_codeable.rb', line 15

def generate_png_qr(size = 120)
  qrcode = RQRCode::QRCode.new(qr_data)
  qrcode.as_png(
    bit_depth: 1,
    border_modules: 1,
    color_mode: ChunkyPNG::COLOR_GRAYSCALE,
    color: 'black',
    file: nil,
    fill: 'white',
    module_px_size: 4,
    resize_exactly_to: false,
    resize_gte_to: false,
    size: size
  )
end

#generate_svg_qrObject



3
4
5
6
7
8
9
10
11
12
13
# File 'app/models/concerns/spree_cm_commissioner/order_qr_codeable.rb', line 3

def generate_svg_qr
  qrcode = RQRCode::QRCode.new(qr_data)
  qrcode.as_svg(
    color: '000',
    shape_rendering: 'crispEdges',
    module_size: 5,
    standalone: true,
    use_path: true,
    viewbox: '0 0 20 10'
  )
end

#jwt_qr_dataObject



35
36
37
# File 'app/models/concerns/spree_cm_commissioner/order_qr_codeable.rb', line 35

def jwt_qr_data
  SpreeCmCommissioner::Orders::JwtToken::Generate.call(order: self).value[:token]
end

#qr_dataObject



31
32
33
# File 'app/models/concerns/spree_cm_commissioner/order_qr_codeable.rb', line 31

def qr_data
  "#{number}-#{token}"
end