Class: Cups

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(print_url = nil, print = nil, user = nil) ⇒ Cups

Returns a new instance of Cups.



4
5
6
7
8
9
10
# File 'lib/cups.rb', line 4

def initialize(print_url = nil,print = nil,user = nil)
  @print_url = print_url
  @id = ""
  @user = user
  @print = print
  @prmt_print_name = @print ? " -P "+@print+" " : ""
end

Instance Attribute Details

#idObject

Returns the value of attribute id.



2
3
4
# File 'lib/cups.rb', line 2

def id
  @id
end

Returns the value of attribute print.



2
3
4
# File 'lib/cups.rb', line 2

def print
  @print
end

Returns the value of attribute print_url.



2
3
4
# File 'lib/cups.rb', line 2

def print_url
  @print_url
end

#userObject

Returns the value of attribute user.



2
3
4
# File 'lib/cups.rb', line 2

def user
  @user
end

Instance Method Details

#cancel_all_printsObject



56
57
58
# File 'lib/cups.rb', line 56

def cancel_all_prints
  `lprm -h #{@print_url} #{@prmt_print_name} -`
end

#is_complete?Boolean

Returns:

  • (Boolean)


60
61
62
63
64
65
66
# File 'lib/cups.rb', line 60

def is_complete?
  listado_completadas = []
  self.print_status_completed.each do |foo|
    listado_completadas << foo[:id]
  end
  return listado_completadas.include?(@id)
end

sizes = “a4”, “letter”, and “legal”



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/cups.rb', line 13

def print_file(path_file, size='letter',user = nil,priority = 50)
  prmt_print_name_ex = @prmt_print_name.size != 0 ? " -d "+@print+" " : ""
  @user = user
  user_option = @user ? " -U #{@user}":""
  str_result = `lp #{path_file} -h #{@print_url} -o media=#{size} #{user_option} -p #{priority} #{prmt_print_name_ex}`
  if str_result.include?(@print)
    @id = str_result.sub("la id solicitada es ","").split(" ")[0]
    return true
  else
    return false
  end
end


46
47
48
49
50
51
52
53
54
# File 'lib/cups.rb', line 46

def print_status_all
  str_status = `lpstat -W all -h #{@print_url} #{@prmt_print_name}`
  arr_status = str_status.split("\n")
  listado = []
  arr_status.each do |status|
    listado << {:id => status.split(" ")[0], :user => status.split(" ")[1]}
  end
  return listado
end


26
27
28
29
30
31
32
33
34
# File 'lib/cups.rb', line 26

def print_status_completed
  str_status = `lpstat -W completed -h #{@print_url} #{@prmt_print_name}`
  arr_status = str_status.split("\n")
  listado = []
  arr_status.each do |status|
    listado << {:id => status.split(" ")[0], :user => status.split(" ")[1]}
  end
  return listado
end


36
37
38
39
40
41
42
43
44
# File 'lib/cups.rb', line 36

def print_status_no_completed
  str_status = `lpstat -W 'not-completed' -h #{@print_url} #{@prmt_print_name}`
  arr_status = str_status.split("\n")
  listado = []
  arr_status.each do |status|
    listado << {:id => status.split(" ")[0], :user => status.split(" ")[1]}
  end
  return listado
end