Class: RubyHome::AccessoryCollection

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/ruby_home/hap/accessory_collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*accessories) ⇒ AccessoryCollection

Returns a new instance of AccessoryCollection.



6
7
8
# File 'lib/ruby_home/hap/accessory_collection.rb', line 6

def initialize(*accessories)
  @accessories = accessories
end

Instance Attribute Details

#accessoriesObject

Returns the value of attribute accessories.



4
5
6
# File 'lib/ruby_home/hap/accessory_collection.rb', line 4

def accessories
  @accessories
end

Instance Method Details

#<<(accessory) ⇒ Object



16
17
18
# File 'lib/ruby_home/hap/accessory_collection.rb', line 16

def <<(accessory)
  @accessories << accessory
end

#eachObject



10
11
12
13
14
# File 'lib/ruby_home/hap/accessory_collection.rb', line 10

def each
  @accessories.map do |accessory|
    yield accessory
  end
end

#find_characteristic(attributes) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/ruby_home/hap/accessory_collection.rb', line 20

def find_characteristic(attributes)
  characteristics.find do |characteristic|
    attributes.all? do |key, value|
      characteristic.send(key) == value
    end
  end
end