module Mongoid::Document

Monkey patching for Mongoid::Document as_json

Public Instance Methods

as_json(options = {}) click to toggle source

Monkey patching for Mongoid::Document as_json @param [Hash] options Options parameter @return [Hash] Hash representing the model

Calls superclass method
# File lib/activity_notification/orm/mongoid.rb, line 89
def as_json(options = {})
  json = super(options)
  json["id"] = json["_id"].to_s.start_with?("{\"$oid\"=>") ? self.id.to_s : json["_id"].to_s
  if options.has_key?(:include)
    case options[:include]
    when Symbol then json[options[:include].to_s] = self.send(options[:include]).as_json
    when Array  then options[:include].each {|model| json[model.to_s] = self.send(model).as_json }
    when Hash   then options[:include].each {|model, options| json[model.to_s] = self.send(model).as_json(options) }
    end
  end
  json
end