Class: ZebraPrinterDocument

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

Instance Method Summary collapse

Constructor Details

#initialize(data = nil, &block) ⇒ ZebraPrinterDocument

Returns a new instance of ZebraPrinterDocument.



2
3
4
5
6
7
8
# File 'lib/zebra_printer_document.rb', line 2

def initialize(data=nil, &block)
  @language = :epl2
  @data = data
  if block_given?
    instance_eval(&block)
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/zebra_printer_document.rb', line 40

def method_missing(method,*args,&block)
  if language_processor.respond_to? method
    if block_given?
      language_processor.public_send(method,*args,&block)
    else
      language_processor.public_send(method,*args)
    end
  else
    super(method,*args,&block)
  end
end

Instance Method Details

#dataObject



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

def data
  @data
end

#documentObject



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

def document
  language_processor.document
end

#language(lang) ⇒ Object



10
11
12
13
# File 'lib/zebra_printer_document.rb', line 10

def language(lang)
  @language = lang
  @language_processor = nil
end

#language_processorObject



15
16
17
# File 'lib/zebra_printer_document.rb', line 15

def language_processor
  @language_processor ||= Languages.const_get(@language.to_s.capitalize).new data
end

#process(&block) ⇒ Object



19
20
21
22
# File 'lib/zebra_printer_document.rb', line 19

def process(&block)
  instance_eval(&block)
  self
end

#respond_to_missing?(method, include_all) ⇒ Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/zebra_printer_document.rb', line 52

def respond_to_missing?(method,include_all)
  language_processor.respond_to?(method) || super(method,include_all)
end

#to_sObject



32
33
34
# File 'lib/zebra_printer_document.rb', line 32

def to_s
  document
end

#to_strObject



36
37
38
# File 'lib/zebra_printer_document.rb', line 36

def to_str
  document
end