Class: Rubyqrpay::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/rubyqrpay/generator.rb

Class Method Summary collapse

Class Method Details

.generate_payload(opts) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/rubyqrpay/generator.rb', line 11

def self.generate_payload(opts)
  opts = Rubyqrpay::Validator.validate_payload(opts)
  unless opts.nil?
    payload = generation(opts)
    # percent_encode payload # Temporary solution to fix invalid BNB URI decode
  end
end

.generate_png(url, payload, **opts) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rubyqrpay/generator.rb', line 19

def self.generate_png(url, payload, **opts)
  opts_default = {size: size_func(url, payload).to_i, level: :l}
  qrcode = RQRCode::QRCode.new("#{url}#{payload}", level: opts[:level] || opts_default[:level])
  png = qrcode.as_png(resize_gte_to: false,
                      resize_exactly_to: false,
                      fill: 'white',
                      color: 'black',
                      size: opts[:size] || opts_default[:size],
                      border_modules: 4,
                      module_px_size: 6)
  qrcode_to_base64(png)
end