class Airplay::Devices
Public: Represents an array of devices
Public Class Methods
new()
click to toggle source
# File lib/airplay/devices.rb, line 13 def initialize @items = [] end
Public Instance Methods
<<(device)
click to toggle source
Public: Adds a device to the list
value - The Device
Returns nothing
# File lib/airplay/devices.rb, line 56 def <<(device) return if find_by_ip(device.ip) @items << device end
add(name, address)
click to toggle source
Public: Adds a device to the pool
name - The name of the device address - The address of the device
Returns nothing
# File lib/airplay/devices.rb, line 44 def add(name, address) device = Device.new(name: name, address: address) self << device device end
find_by_ip(ip)
click to toggle source
Public: Finds a device given an ip
ip - The ip of the device
Returns a Device
object
# File lib/airplay/devices.rb, line 33 def find_by_ip(ip) find_by_block { |device| device if device.ip == ip } end
find_by_name(device_name)
click to toggle source
Public: Finds a device given a name
device_name - The name of the device
Returns a Device
object
# File lib/airplay/devices.rb, line 23 def find_by_name(device_name) find_by_block { |device| device if device.name == device_name } end
Private Instance Methods
find_by_block(&block)
click to toggle source
Private: Finds a devices based on a block
&block - The block to be executed
Returns the result of the find on that given block
# File lib/airplay/devices.rb, line 69 def find_by_block(&block) @items.find(&block) end