class MQTT::Subscriptions::ValueTrackerSubscription
Attributes
value[R]
Public Class Methods
new(topic, qos = 1)
click to toggle source
Calls superclass method
MQTT::Subscriptions::Subscription::new
# File lib/mqtt/subscription_classes.rb, line 50 def initialize(topic, qos = 1) raise ArgumentError, "Tracking of topic wildcards is prohibited! Topic: #{topic}" if topic =~ /[#\+]/ super(topic, qos); @value = nil; @callbackList = Array.new(); end
Public Instance Methods
attach(callback)
click to toggle source
# File lib/mqtt/subscription_classes.rb, line 69 def attach(callback) @callbackList << callback; callback.call(@value, nil) if(@value); return callback; end
detach(callback)
click to toggle source
# File lib/mqtt/subscription_classes.rb, line 74 def detach(callback) @callbackList.delete callback; end
offer(_topicList, data)
click to toggle source
# File lib/mqtt/subscription_classes.rb, line 59 def offer(_topicList, data) return if data == @value; oldValue = @value; @value = data; @callbackList.each do |cb| cb.call(data, oldValue); end end