class ActionMessage::Interceptor
Public Class Methods
register(conditions={})
click to toggle source
# File lib/action_message/interceptor.rb, line 7 def register(conditions={}) raise TypeError, 'Invalid type. Please provide a hash object' unless conditions.methods.include?(:key) conditions.each do |attribute, condition| @@blacklist[attribute.to_sym] ||= [] @@blacklist[attribute.to_sym].push(condition) end end
registered_for?(message)
click to toggle source
# File lib/action_message/interceptor.rb, line 17 def registered_for?(message) @@blacklist.each do |attribute, conditions| value = message.send(attribute.to_sym) conditions.each do |condition| return true if value.send(match_method_for(condition), condition) end end return false end
Private Class Methods
match_method_for(condition)
click to toggle source
# File lib/action_message/interceptor.rb, line 30 def match_method_for(condition) condition.is_a?(Regexp)? :=~ : :== end