RCups 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/cups.rb +66 -0
  2. metadata +45 -0
@@ -0,0 +1,66 @@
1
+ class Cups
2
+ attr_accessor :print_url, :id, :user, :print
3
+
4
+ def initialize(print_url = nil,print = nil,user = nil)
5
+ @print_url = print_url
6
+ @id = ""
7
+ @user = user
8
+ @print = print
9
+ @prmt_print_name = @print ? " -P "+@print+" " : ""
10
+ end
11
+
12
+ def print_file(path_file, user = nil,priority = 50)
13
+ prmt_print_name_ex = @prmt_print_name.size != 0 ? " -d "+@print+" " : ""
14
+ @user = user
15
+ user_option = @user ? " -U #{@user}":""
16
+ str_result = `lp #{path_file} -h #{@print_url} #{user_option} -p #{priority} #{prmt_print_name_ex}`
17
+ if str_result.include?(@print)
18
+ @id = str_result.sub("la id solicitada es ","").split(" ")[0]
19
+ return true
20
+ else
21
+ return false
22
+ end
23
+ end
24
+
25
+ def print_status_completed
26
+ str_status = `lpstat -W completed -h #{@print_url} #{@prmt_print_name}`
27
+ arr_status = str_status.split("\n")
28
+ listado = []
29
+ arr_status.each do |status|
30
+ listado << {:id => status.split(" ")[0], :user => status.split(" ")[1]}
31
+ end
32
+ return listado
33
+ end
34
+
35
+ def print_status_no_completed
36
+ str_status = `lpstat -W 'not-completed' -h #{@print_url} #{@prmt_print_name}`
37
+ arr_status = str_status.split("\n")
38
+ listado = []
39
+ arr_status.each do |status|
40
+ listado << {:id => status.split(" ")[0], :user => status.split(" ")[1]}
41
+ end
42
+ return listado
43
+ end
44
+
45
+ def print_status_all
46
+ str_status = `lpstat -W all -h #{@print_url} #{@prmt_print_name}`
47
+ arr_status = str_status.split("\n")
48
+ listado = []
49
+ arr_status.each do |status|
50
+ listado << {:id => status.split(" ")[0], :user => status.split(" ")[1]}
51
+ end
52
+ return listado
53
+ end
54
+
55
+ def cancel_all_prints
56
+ `lprm -h #{@print_url} #{@prmt_print_name} -`
57
+ end
58
+
59
+ def is_complete?
60
+ listado_completadas = []
61
+ self.print_status_completed.each do |foo|
62
+ listado_completadas << foo[:id]
63
+ end
64
+ return listado_completadas.include?(@id)
65
+ end
66
+ end
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: RCups
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Blas Soto
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-05-17 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Library for printing with CUPS
15
+ email: blassoto@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/cups.rb
21
+ homepage: http://rubygems.org/gems/rcups
22
+ licenses: []
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 1.8.23
42
+ signing_key:
43
+ specification_version: 3
44
+ summary: Library for printing with CUPS
45
+ test_files: []