Class: Model::Capability

Inherits:
Object
  • Object
show all
Defined in:
lib/models/capability.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node, repository) ⇒ Capability

Returns a new instance of Capability.



5
6
7
# File 'lib/models/capability.rb', line 5

def initialize(node, repository)
  @query = NodeQuery.new(node, repository)
end

Instance Attribute Details

#queryObject (readonly)

Returns the value of attribute query.



3
4
5
# File 'lib/models/capability.rb', line 3

def query
  @query
end

Instance Method Details

#actuatorsObject



39
40
41
42
43
# File 'lib/models/capability.rb', line 39

def actuators
  query.values(LV.actuator).map do |node|
    Device.new node, query.repository
  end
end

#descriptionObject



9
10
11
# File 'lib/models/capability.rb', line 9

def description
  query.value(LV.description)
end

#deviceObject



24
25
26
27
# File 'lib/models/capability.rb', line 24

def device
  device_node = query.value(LV.device)
  Device.new device_node, query.repository if device_node
end

#propertyObject



29
30
31
32
# File 'lib/models/capability.rb', line 29

def property
  node = query.value(LV.property)
  Property.new node, query.repository if node
end

#questionObject



34
35
36
37
# File 'lib/models/capability.rb', line 34

def question
  node = query.value(LV.question)
  Question.new node, query.repository if node
end

#sensorsObject



45
46
47
48
49
# File 'lib/models/capability.rb', line 45

def sensors
  query.values(LV.sensor).map do |node|
    Device.new node, query.repository
  end
end

#typeObject



17
18
19
20
21
22
# File 'lib/models/capability.rb', line 17

def type
  value = query.value(RDF.type)
  return nil if value.nil?
  t = value.to_s.remove LV.prefix
  Helper.underscore(t).to_sym
end

#valueObject



13
14
15
# File 'lib/models/capability.rb', line 13

def value
  query.value(LV.value).to_s if query.value_exists?(LV.value)
end