Class: RubyHome::BaseValue

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_home/hap/values/base_value.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(characteristic_template = nil, initial_value = nil) ⇒ BaseValue

Returns a new instance of BaseValue.



9
10
11
12
# File 'lib/ruby_home/hap/values/base_value.rb', line 9

def initialize(characteristic_template=nil, initial_value=nil)
  @template = characteristic_template
  @value = initial_value
end

Instance Attribute Details

#valueObject



14
15
16
# File 'lib/ruby_home/hap/values/base_value.rb', line 14

def value
  @value || default
end

Class Method Details

.value_for_template(template) ⇒ Object



3
4
5
6
7
# File 'lib/ruby_home/hap/values/base_value.rb', line 3

def self.value_for_template(template)
  return NullValue if template.name == :identify

  "::RubyHome::#{template.format.classify}Value".safe_constantize || NullValue
end

Instance Method Details

#defaultObject

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/ruby_home/hap/values/base_value.rb', line 18

def default
  raise NotImplementedError
end