module ActiveFedora::Delegation

def array_delegable?(method)

def array_delegable?(method)
  Array.method_defined?(method) && BLACKLISTED_ARRAY_METHODS.exclude?(method)
end

def method_missing(method, *args, &block)

def method_missing(method, *args, &block)
  if array_delegable?(method)
    self.class.delegate method, to: :to_a
    to_a.public_send(method, *args, &block)
  else
    super
  end
end