class PrioritizedCallbacks::CallbackList
Attributes
config[R]
Public Class Methods
new(config, callbacks = [])
click to toggle source
Calls superclass method
# File lib/prioritized_callbacks/callback_list.rb, line 5 def initialize(config, callbacks = []) @config = config super(callbacks) end
Public Instance Methods
each() { |callback| ... }
click to toggle source
# File lib/prioritized_callbacks/callback_list.rb, line 10 def each if config[:reverse] callbacks = to_a.reverse order = config[:order].reverse else callbacks = to_a order = config[:order] end if config[:reverse_after] order.each do |priority| callbacks.each do |callback| yield callback if callback.priority == priority && (callback.kind == :before || callback.kind == :around) end end order.reverse.each do |priority| callbacks.each do |callback| yield callback if callback.priority == priority && callback.kind == :after end end else order.each do |priority| callbacks.each do |callback| yield callback if callback.priority == priority end end end end
reverse()
click to toggle source
# File lib/prioritized_callbacks/callback_list.rb, line 38 def reverse CallbackList.new(config.merge(reverse: true), to_a) end