Class: Thermal::WriterBase

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/thermal/writer_base.rb

Constant Summary collapse

ALIGNMENTS =
i[left center right].freeze

Instance Method Summary collapse

Constructor Details

#initialize(profile) ⇒ WriterBase

Returns a new instance of WriterBase.



9
10
11
12
13
14
# File 'lib/thermal/writer_base.rb', line 9

def initialize(profile)
  @profile = profile
  @bold = false
  @underline = false
  @align = :left
end

Instance Method Details

#align(alignment = nil) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/thermal/writer_base.rb', line 32

def align(alignment = nil, &)
  alignment = alignment.downcase.to_sym if alignment.is_a?(String)
  alignment ||= :left
  raise "Invalid align #{alignment.inspect}" unless ALIGNMENTS.include?(alignment)

  write_style(align: alignment, &)
end

#bold(enabled = true) ⇒ Object

rubocop:disable Style/OptionalBooleanParameter



40
41
42
# File 'lib/thermal/writer_base.rb', line 40

def bold(enabled = true, &) # rubocop:disable Style/OptionalBooleanParameter

  write_style(bold: !!enabled, &)
end

#cutObject



54
55
56
# File 'lib/thermal/writer_base.rb', line 54

def cut
  # do nothing

end

#feedObject



50
51
52
# File 'lib/thermal/writer_base.rb', line 50

def feed
  # do nothing

end

#formatObject



16
17
18
# File 'lib/thermal/writer_base.rb', line 16

def format
  self.class.format if self.class.respond_to?(:format)
end

#hrObject



28
29
30
# File 'lib/thermal/writer_base.rb', line 28

def hr
  # do nothing

end

#imageObject



58
59
60
# File 'lib/thermal/writer_base.rb', line 58

def image
  # do nothing

end


20
21
22
# File 'lib/thermal/writer_base.rb', line 20

def print(**_kwargs)
  yield
end

#qr_codeObject



62
63
64
# File 'lib/thermal/writer_base.rb', line 62

def qr_code
  # do nothing

end

#text(str, feed: true, replace: nil) ⇒ Object



24
25
26
# File 'lib/thermal/writer_base.rb', line 24

def text(str, feed: true, replace: nil)
  # do nothing

end

#underline(enabled = true, weight: nil, &block) ⇒ Object

rubocop:disable Style/OptionalBooleanParameter



44
45
46
47
48
# File 'lib/thermal/writer_base.rb', line 44

def underline(enabled = true, weight: nil, &block) # rubocop:disable Style/OptionalBooleanParameter

  underline = weight || enabled
  underline = false if !underline || underline == 0
  write_style(underline: underline, &block)
end