module PJL

PJL generation

Example

class MyPrinter
  include PJL
  def run
    job "job-#$$" do
      rdymsg :display => "wait..."
      enter :postscript do
        puts "%!PS"
        ...
      end
    end
  end
end
MyPrinter.new.run

pjl/version.rb – Name and version number

Constants

AUTHOR
DESCRIPTION
HOMEPAGE
LICENSE
NAME
SUMMARY
TEAM
VERSION

Public Instance Methods

enter(language) { || ... } click to toggle source
# File lib/pjl.rb, line 97
def enter language
  pjl :enter, :language => language.to_sym
  yield
ensure
  uel
  pjl
end
iparm(p) { || ... } click to toggle source
# File lib/pjl.rb, line 69
def iparm p
  m = @m
  @m = { :iparm => p.to_sym }
  yield
ensure
  @m = m
end
job(name, *args) { || ... } click to toggle source
# File lib/pjl.rb, line 48
def job name, *args
  print "\0"*32
  uel
  pjl
  j = { :name => name.to_s }
  args.push j
  pjl :job, *args
  yield
ensure
  pjl :eoj, j
  uel
end
lparm(p) { || ... } click to toggle source
# File lib/pjl.rb, line 61
def lparm p
  m = @m
  @m = { :lparm => p.to_sym }
  yield
ensure
  @m = m
end
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/pjl.rb, line 82
def method_missing name, *args, &block
  if block then
    super
  else
    args.each { |a|
      case a
        when String, Symbol, Hash then next
        else                           super
      end
    }
    if name.to_s =~ /\Apjl_/ then name = $'.to_sym end
    pjl name, *args
  end
end
noop() click to toggle source
# File lib/pjl.rb, line 77
def noop
  pjl
end
Also aliased as: nop
nop()
Alias for: noop

Private Instance Methods

pjl(*args) click to toggle source
# File lib/pjl.rb, line 111
def pjl *args
  opt = {}
  opt.update args.pop while args.last.is_a? Hash
  l = []
  args.flatten!
  args.each { |a| l.push a }
  @m and @m.each { |k,v| l.push [ k, :":", v] }
  opt      .each { |k,v| l.push [ k, :"=", v] }
  cmd = "@PJL"
  l.each { |x| cmd << " " << x.to_pjlkey }
  puts cmd
end
uel() click to toggle source
# File lib/pjl.rb, line 107
def uel
  print "\e%-12345X"
end