module FeatureChannel::Subscriber
Public Class Methods
process(topic, message)
click to toggle source
# File lib/feature_channel/subscriber.rb, line 9 def process(topic, message) payload = message_decode(message) model = feature_model(payload['feature']) return unless accept_message? model processor = Subscriber::MessageProcessor.new(message: payload, model: model) processor.run! end
Private Class Methods
accept_message?(model_klass)
click to toggle source
# File lib/feature_channel/subscriber.rb, line 23 def accept_message?(model_klass) !!model_klass end
feature_model(feature)
click to toggle source
# File lib/feature_channel/subscriber.rb, line 27 def feature_model(feature) features = FeatureChannel.features features[feature] ? Object.const_get(features[feature]) : nil end
message_decode(message)
click to toggle source
# File lib/feature_channel/subscriber.rb, line 32 def message_decode(message) MessagePack.unpack(message) end