class Yael::Route
Attributes
delay[R]
descriptor[R]
queue[R]
target[R]
target_method[R]
target_name[R]
Public Class Methods
new(descriptor:, target:, queue: :default, delay: nil)
click to toggle source
# File lib/yael/route.rb, line 7 def initialize(descriptor:, target:, queue: :default, delay: nil) @descriptor = descriptor @target = target @queue = queue @delay = delay @target_name = target.split("#").first.classify @target_method = target.split("#").second end
Public Instance Methods
dispatch(event)
click to toggle source
# File lib/yael/route.rb, line 22 def dispatch(event) method = target_method || "on_#{event.name}" args = event.payload.symbolize_keys ExecutionJob.set(queue: queue, wait: delay).perform_later(target_name, method, args) end
matches?(stream)
click to toggle source
# File lib/yael/route.rb, line 16 def matches?(stream) return true if descriptor == :all descriptor.to_s == stream end