Module: CuPrint

Defined in:
lib/cuprint.rb

Constant Summary collapse

OPTION_MENU =
"1.) Add printer\n 2.) Add all printers\n 3.) Quit "

Instance Method Summary collapse

Instance Method Details

#add_printer(print) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/cuprint.rb', line 33

def add_printer(print)
  driver = case print["driver"]
  when "HP LaserJet 9050" ;  "/Library/Printers/PPDs/Contents/Resources/HP\\ LaserJet\\ 9050.gz"
  when "HP LaserJet 4350" ; "  /Library/Printers/PPDs/Contents/Resources/HP\\ LaserJet\\ 4350.gz"
  end
  puts driver
  `lpadmin -p #{print["name"]} -L #{print["place"]} -E -v lpd://#{print["address"]} -P #{driver} `
end

#runObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/cuprint.rb', line 11

def run
  printersArray = YAML.load_file(File.join(File.dirname(__FILE__), 'printers.yaml'))["printers"]
  printers= Array.new
  printersArray.each { |printerHash| printers << Struct::Printer.new(printerHash["name"], printerHash["place"],printerHash["address"], printerHash["driver"])  }

  exit = false
  while(!exit)
   puts OPTION_MENU 
   case gets.to_i
     when 1
       puts "Printers" 
       printers.each_index { |x|  puts x.to_s + ".)" + printers[x]["name"] }
       add_printer(printers[gets.to_i])
     when 2
       printers.each { |x| add_printer(x) }
     when 3
       exit= true
    end
  end

end