Class: CloudPrint::PrinterCollection
- Inherits:
-
Object
- Object
- CloudPrint::PrinterCollection
- Defined in:
- lib/cloudprint/printer_collection.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
- #all ⇒ Object
- #find(printer_id) ⇒ Object
-
#initialize(client) ⇒ PrinterCollection
constructor
A new instance of PrinterCollection.
- #new(opts) ⇒ Object
- #new_printer_from_hash(hash) ⇒ Object
- #search(query = nil, conditions = {}) ⇒ Object (also: #search_all)
- #search_dormant(q = nil, conditions = {}) ⇒ Object
- #search_offline(q = nil, conditions = {}) ⇒ Object
- #search_online(q = nil, conditions = {}) ⇒ Object
- #search_unknown(q = nil, conditions = {}) ⇒ Object
Constructor Details
#initialize(client) ⇒ PrinterCollection
Returns a new instance of PrinterCollection.
6 7 8 |
# File 'lib/cloudprint/printer_collection.rb', line 6 def initialize client @client = client end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
4 5 6 |
# File 'lib/cloudprint/printer_collection.rb', line 4 def client @client end |
Instance Method Details
#all ⇒ Object
16 17 18 |
# File 'lib/cloudprint/printer_collection.rb', line 16 def all search() end |
#find(printer_id) ⇒ Object
10 11 12 13 14 |
# 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) ⇒ Object
44 45 46 |
# File 'lib/cloudprint/printer_collection.rb', line 44 def new opts Printer.new(opts.merge(client: client)) end |
#new_printer_from_hash(hash) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# 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 = {}) ⇒ Object Also known as: search_all
20 21 22 23 24 25 |
# 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 |
#search_dormant(q = nil, conditions = {}) ⇒ Object
40 41 42 |
# 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 = {}) ⇒ Object
36 37 38 |
# 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 = {}) ⇒ Object
28 29 30 |
# 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 = {}) ⇒ Object
32 33 34 |
# File 'lib/cloudprint/printer_collection.rb', line 32 def search_unknown(q = nil, conditions = {}) search_with_status(q, 'UNKNOWN', conditions) end |