class OICFiscalPrinterLib

Constants

LogFolderName
LogTransmission
PortConfigString
PrinterDriver

Attributes

connection[RW]

Public Class Methods

new(args) click to toggle source
# File lib/OICFiscalPrinterLibOCX.rb, line 8
def initialize(args)
  @connection = WIN32OLE.new('OICFiscalPrinterLib.OICFiscalPrinter')

  @connection.PortConfigString = ConnectionFactory.new(args).port_config_string
  
  @connection.PrinterDriver = args[:printerdriver] || default_printerdriver

  @connection.LogTransmission = args.fetch(:logtransmission, default_logtransmission) 
  @connection.LogFolderName   = args[:logfoldername] || default_logfoldername

  initialize_extra(args)
end

Public Instance Methods

initialize_extra(args) click to toggle source
# File lib/OICFiscalPrinterLibOCX.rb, line 21
def initialize_extra(args)
end
method_missing(method_name, *args) click to toggle source
# File lib/OICFiscalPrinterLibOCX.rb, line 25
def method_missing(method_name, *args)
  is_property = false
  if method_name.match(/=$/)
    method_name = method_name.to_s.gsub(/=$/,'')
    is_property = true
  else
    method_name = method_name.to_s
  end    

  if respond_to?(method_name)
    if is_property
      connection.setproperty(method_name, *args)
    else  
      connection.send(method_name, *args) #if ready?
    end
  else
    raise NoMethodError, "undefined method `#{method_name}' for OICFiscalPrinterLib interface"
  end  
end
respond_to?(method_name) click to toggle source
# File lib/OICFiscalPrinterLibOCX.rb, line 45
def respond_to?(method_name)
  @connection.ole_respond_to?(method_name)
end

Protected Instance Methods

default_logfoldername() click to toggle source
# File lib/OICFiscalPrinterLibOCX.rb, line 54
def default_logfoldername
  'log'
end
default_logtransmission() click to toggle source
# File lib/OICFiscalPrinterLibOCX.rb, line 50
def default_logtransmission
  false
end
default_printerdriver() click to toggle source
# File lib/OICFiscalPrinterLibOCX.rb, line 58
def default_printerdriver
  'HD E PL 1.0'
end
ready?() click to toggle source
# File lib/OICFiscalPrinterLibOCX.rb, line 62
def ready?
  result = false
  result = connection.ReadDLEStatus(nil, nil, nil)
  unless result
    raise ConnectionError, "#{connection.lasterror}: #{connection.lasterrormessage}"
  end
  result 
end