class Reacto::Operations::SplitLabeled
Public Class Methods
new(label, chose_label, executor = nil)
click to toggle source
# File lib/reacto/operations/split_labeled.rb, line 6 def initialize(label, chose_label, executor = nil) @label = label @chose_label = chose_label @executor = executor end
Public Instance Methods
call(tracker)
click to toggle source
# File lib/reacto/operations/split_labeled.rb, line 12 def call(tracker) value = -> (v) do if v.is_a?(LabeledTrackable) && v.label == @label action = -> (labeled_trackable) do tracker.on_value(labeled_trackable) end v.group_by_label(executor: @executor, &@chose_label) .on(value: action) else tracker.on_value(v) end end Subscriptions::OperationSubscription.new( tracker, value: value ) end