class Hive::Controller::Tv
The TV controller
Public Class Methods
add_exclusion(ex)
click to toggle source
# File lib/hive/controller/tv.rb, line 10 def self.add_exclusion ex @@exclusion << ex end
Public Instance Methods
detect()
click to toggle source
# File lib/hive/controller/tv.rb, line 14 def detect Hive.logger.debug("Checking Hive Mind") device_list = Hive.hive_mind.device_details['connected_devices'] Hive.logger.debug("Device list: #{device_list}") devices = [] if device_list.is_a? Array device_list.select { |d| valid? d }.collect do |device| Hive.logger.debug("Found TV: #{device.inspect}") devices << self.create_device(device) end else raise Hive::Controller::DeviceDetectionFailed end Hive.logger.debug("Devices: #{devices}") devices end
Private Instance Methods
valid?(device)
click to toggle source
# File lib/hive/controller/tv.rb, line 32 def valid? device if device['device_type'] == 'Tv' @@exclusion.each do |ex| match = true ex.each_pair do |key, value| match = match && device[key.to_s] != value end return false if ! match end return true else false end end