Sha256: 17a60c0d82598862a6e12db5b62201b931de291953d19676406df7a1a274081b
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
module Slappy module Listener module Listenable include ActiveSupport::Concern include Slappy::Debuggable attr_reader :pattern def initialize(target, callback) @pattern = target @callback = callback end def call(event) Debug.log "Listen event call: #{target_element}:#{event.send(target_element)}" unless time_valid?(event) Debug.log 'Event happend in before start time' return end target = event.send(target_element) unless target Debug.log 'Target is nil' return end event.matches = target.match pattern unless event.matches Debug.log "Target is not match pattern(#{pattern})" return end Debug.log "Callback event call: #{pattern}" @callback.call(event) end def time_valid?(event) event.ts > Slappy.client.start_time end private def target_element self.class.name.split('::').last.gsub(/Listener$/, '').underscore.to_sym end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
slappy-0.5.2 | lib/slappy/listeners/concerns/listenable.rb |