module ActiveModel::Serialization

def serializable_add_includes(options = {}) # :nodoc:

:nodoc:
+opts+ - options for the association records
+records+ - the association record(s) to be serialized
+association+ - name of the association
Expects a block that takes as arguments:

Add associations specified via the :include option.
def serializable_add_includes(options = {}) # :nodoc:
  return unless includes = options[:include]
  unless includes.is_a?(Hash)
    includes = Hash[Array(includes).flat_map { |n| n.is_a?(Hash) ? n.to_a : [[n, {}]] }]
  end
  includes.each do |association, opts|
    if records = send(association)
      yield association, records, opts
    end
  end
end