lib/stf/model/device.rb in stf-client-0.1.6 vs lib/stf/model/device.rb in stf-client-0.2.0
- old
+ new
@@ -1,38 +1,46 @@
-class Device < OpenStruct
- def getValue(key)
- getValueFromObject(self, key)
- end
+module Stf
+ class Device < OpenStruct
+ def getValue(key)
+ getValueFromObject(self, key)
+ end
- def getKeys
- getKeysNextLevel('', self)
- end
+ def getKeys
+ getKeysNextLevel('', self)
+ end
- def getKeysNextLevel(prefix, o)
- return [] if o.nil?
+ def checkFilter(filter)
+ return true if filter.nil?
+ key, value = filter.split(':', 2)
+ getValue(key) == value
+ end
- o.each_pair.flat_map do |k, v|
- if v.is_a? OpenStruct
- getKeysNextLevel(concat(prefix, k.to_s), v)
- else
- [concat(prefix, k.to_s)]
+ def getKeysNextLevel(prefix, o)
+ return [] if o.nil?
+
+ o.each_pair.flat_map do |k, v|
+ if v.is_a? OpenStruct
+ getKeysNextLevel(concat(prefix, k.to_s), v)
+ else
+ [concat(prefix, k.to_s)]
+ end
end
end
- end
- def concat(prefix, key)
- prefix.to_s.empty? ? key : prefix + '.' + key
- end
+ def concat(prefix, key)
+ prefix.to_s.empty? ? key : prefix + '.' + key
+ end
- def getValueFromObject(obj, key)
- keys = key.split('.', 2)
- if keys[1].nil?
- obj[key]
- else
- getValueFromObject(obj[keys[0]], keys[1])
+ def getValueFromObject(obj, key)
+ keys = key.split('.', 2)
+ if keys[1].nil?
+ obj[key]
+ else
+ getValueFromObject(obj[keys[0]], keys[1])
+ end
end
- end
- private :getValueFromObject,:concat, :getKeysNextLevel
+ private :getValueFromObject, :concat, :getKeysNextLevel
-end
\ No newline at end of file
+ end
+end