Class: DeviceMap::DeviceData::Device

Inherits:
Object
  • Object
show all
Includes:
Properties::DSL
Defined in:
lib/device_map/device_data/device.rb

Constant Summary collapse

UNKNOWN_ID =
'unknown'

Class Method Summary collapse

Methods included from Properties::DSL

#==, included, #initialize

Class Method Details

.parse(device_node) ⇒ Object



40
41
42
43
44
45
46
47
# File 'lib/device_map/device_data/device.rb', line 40

def self.parse(device_node)
  properties = device_node.xpath('property')
  attrs = properties.each_with_object({}) do |property, result|
    result[property[:name]] = property[:value]
  end

  new(attrs.merge(id: device_node[:id]))
end

.unknownObject



49
50
51
# File 'lib/device_map/device_data/device.rb', line 49

def self.unknown
  new(id: UNKNOWN_ID)
end