Method: PDF::Reader::RegisterReceiver#series

Defined in:
lib/pdf/reader/register_receiver.rb

#series(*methods) ⇒ Object

return the first occurance of a particular series of callbacks



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/pdf/reader/register_receiver.rb', line 64

def series(*methods)
  return nil if methods.empty?

  indexes = (0..(callbacks.size-1))
  method_indexes = (0..(methods.size-1))

  indexes.each do |idx|
    count = methods.size
    method_indexes.each do |midx|
      count -= 1 if callbacks[idx+midx] && callbacks[idx+midx][:name] == methods[midx]
    end
    if count == 0
      return callbacks[idx, methods.size]
    end
  end
  nil
end