Module: AdHonorem::HookingConcern::ClassMethods
- Defined in:
- lib/adhonorem/concerns/hooking_concern.rb
Overview
:nodoc:
Constant Summary collapse
- @@hooks =
After all badges loading, @@hooks will look like {
master_a_weapon: { 'ParameteredBadge' => [:checker_one, :checker_two], 'LegacyBadge' => [:a_checker], }, other_event: { 'OtherBadgeResponder' => [:other_checker] }
}
{}
Instance Method Summary collapse
Instance Method Details
#dispatch(user, event, params = nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/adhonorem/concerns/hooking_concern.rb', line 19 def dispatch(user, event, params = nil) params ||= {} result = {} @@hooks[event] ||= {} @@hooks[event].each do |responder, registered_checkers| badge = find_by(klass: responder).set_context(user) registered_checkers.each do |checker| res = badge.trigger(checker, params) result[res] ||= [] result[res] << "#{responder}##{checker}" end end result end |