Class: RubyHome::Accessory
- Inherits:
-
Object
- Object
- RubyHome::Accessory
- Defined in:
- lib/ruby_home/accessory.rb
Constant Summary collapse
- @@all =
AccessoryCollection.new
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#services ⇒ Object
readonly
Returns the value of attribute services.
Class Method Summary collapse
Instance Method Summary collapse
- #characteristics ⇒ Object
- #contains_instance_id?(instance_id) ⇒ Boolean
- #has_accessory_information? ⇒ Boolean
-
#initialize ⇒ Accessory
constructor
A new instance of Accessory.
- #next_available_instance_id ⇒ Object
Constructor Details
#initialize ⇒ Accessory
Returns a new instance of Accessory.
15 16 17 18 19 |
# File 'lib/ruby_home/accessory.rb', line 15 def initialize @services = ServiceCollection.new @id = next_available_accessory_id @@all << self end |
Instance Attribute Details
#id ⇒ Object (readonly)
Returns the value of attribute id.
21 22 23 |
# File 'lib/ruby_home/accessory.rb', line 21 def id @id end |
#services ⇒ Object (readonly)
Returns the value of attribute services.
21 22 23 |
# File 'lib/ruby_home/accessory.rb', line 21 def services @services end |
Class Method Details
.all ⇒ Object
7 8 9 |
# File 'lib/ruby_home/accessory.rb', line 7 def self.all @@all end |
.reset ⇒ Object
11 12 13 |
# File 'lib/ruby_home/accessory.rb', line 11 def self.reset @@all = AccessoryCollection.new end |
Instance Method Details
#characteristics ⇒ Object
23 24 25 |
# File 'lib/ruby_home/accessory.rb', line 23 def characteristics services.characteristics end |
#contains_instance_id?(instance_id) ⇒ Boolean
37 38 39 40 41 |
# File 'lib/ruby_home/accessory.rb', line 37 def contains_instance_id?(instance_id) services.any? do |service| service.contains_instance_id?(instance_id) end end |
#has_accessory_information? ⇒ Boolean
31 32 33 34 35 |
# File 'lib/ruby_home/accessory.rb', line 31 def has_accessory_information? services.any? do |service| service.name == :accessory_information end end |
#next_available_instance_id ⇒ Object
27 28 29 |
# File 'lib/ruby_home/accessory.rb', line 27 def next_available_instance_id (largest_instance_id || 0) + 1 end |