require 'ganymed/websocket' module Ganymed class Websocket class Filter def initialize(spec) @spec = spec end def match?(event) @spec.map do |skey, svalue| evalue = event.send(skey.to_sym) case svalue when String svalue == evalue when Array svalue.include?(evalue) end end.all? end end end end