Class: RubyHome::CharacteristicFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_home/factories/characteristic_factory.rb

Constant Summary collapse

DEFAULT_VALUES =
{
  firmware_revision: '1.0',
  identify: nil,
  manufacturer: 'Default-Manufacturer',
  model: 'Default-Model',
  name: 'RubyHome',
  serial_number: 'Default-SerialNumber',
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(characteristic_name, options) ⇒ CharacteristicFactory

Returns a new instance of CharacteristicFactory.



19
20
21
22
# File 'lib/ruby_home/factories/characteristic_factory.rb', line 19

def initialize(characteristic_name, options)
  @characteristic_name = characteristic_name
  @options = options
end

Class Method Details

.create(characteristic_name, options = {}, &block) ⇒ Object



15
16
17
# File 'lib/ruby_home/factories/characteristic_factory.rb', line 15

def self.create(characteristic_name, options={}, &block)
  new(characteristic_name, options).create(&block)
end

Instance Method Details

#create {|characteristic| ... } ⇒ Object

Yields:

  • (characteristic)


24
25
26
27
28
29
# File 'lib/ruby_home/factories/characteristic_factory.rb', line 24

def create
  yield characteristic if block_given?

  characteristic.save
  characteristic
end