Class: QrForge::Forge
- Inherits:
-
Object
- Object
- QrForge::Forge
- Defined in:
- lib/qr_forge/forge.rb
Overview
Entry point for building QRCodes
Class Method Summary collapse
-
.build(data:, type: :url, config: {}) ⇒ String
Builds a QR code with the given parameters.
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(data:, type:, config:) ⇒ Forge
constructor
A new instance of Forge.
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
#build ⇒ Object
28 29 30 31 |
# File 'lib/qr_forge/forge.rb', line 28 def build svg = @renderer.to_svg @exporter.export(svg) end |