class CloudPrint::PrinterCollection
Attributes
client[R]
Public Class Methods
new(client)
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 6 def initialize client @client = client end
Public Instance Methods
all()
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 16 def all search() end
find(printer_id)
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 10 def find(printer_id) response = client.connection.get('/printer', :printerid => printer_id, :printer_connection_status => true) first_printer_hash = response['printers'].first new_printer_from_hash(first_printer_hash) end
new(opts)
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 44 def new opts Printer.new(opts.merge(client: client)) end
new_printer_from_hash(hash)
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 48 def new_printer_from_hash(hash) Printer.new( client: client, id: hash['id'], status: hash['status'], name: hash['name'], display_name: hash['displayName'], tags: hash['tags'], connection_status: hash['connectionStatus'], description: hash['description'], capabilities: hash['capabilities'] ) end
search(query = nil, conditions = {})
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 20 def search(query = nil, conditions = {}) conditions[:q] = query unless query.nil? response = client.connection.get('/search', conditions) response['printers'].map { |p| new_printer_from_hash(p) } end
Also aliased as: search_all
search_dormant(q = nil, conditions = {})
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 40 def search_dormant(q = nil, conditions = {}) search_with_status(q, 'DORMANT', conditions) end
search_offline(q = nil, conditions = {})
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 36 def search_offline(q = nil, conditions = {}) search_with_status(q, 'OFFLINE', conditions) end
search_online(q = nil, conditions = {})
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 28 def search_online(q = nil, conditions = {}) search_with_status(q, 'ONLINE', conditions) end
search_unknown(q = nil, conditions = {})
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 32 def search_unknown(q = nil, conditions = {}) search_with_status(q, 'UNKNOWN', conditions) end
Private Instance Methods
search_with_status(q, status, conditions)
click to toggle source
# File lib/cloudprint/printer_collection.rb, line 64 def search_with_status(q, status, conditions) search(q, conditions.merge(connection_status: status)) end