Class: QrForge::Forge

Inherits:
Object
  • Object
show all
Defined in:
lib/qr_forge/forge.rb

Overview

Entry point for building QRCodes

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data:, type:, config:) ⇒ Forge



7
8
9
10
11
12
13
# File 'lib/qr_forge/forge.rb', line 7

def initialize(data:, type:, config:)
  version = config.dig(:qr, :version)

  @data = QrForge::QrData.new(text: QrForge::Payload.build(data:, type:).to_s, version:)
  @renderer = QrForge::Renderer.new(qr_data: @data, config:)
  @exporter = QrForge::Exporter.new(config:)
end

Class Method Details

.build(data:, type: :url, config: {}) ⇒ String

Builds a QR code with the given parameters.



24
25
26
# File 'lib/qr_forge/forge.rb', line 24

def self.build(data:, type: :url, config: {})
  new(data:, type:, config:).build
end

Instance Method Details

#buildObject



28
29
30
31
# File 'lib/qr_forge/forge.rb', line 28

def build
  svg = @renderer.to_svg
  @exporter.export(svg)
end