module Shreddies::AsJson::ActiveRecordBase

Public Instance Methods

as_json(options = {}) click to toggle source
Calls superclass method
# File lib/shreddies/as_json.rb, line 6
def as_json(options = {})
  serializer = options.delete(:serializer) || "#{model_name}Serializer"

  if serializer.is_a?(String) || serializer.is_a?(Symbol)
    serializer = serializer.to_s.safe_constantize
  elsif serializer.is_a?(Proc)
    return serializer.call
  end

  serializer ? serializer.render_as_json(self, options) : super
end