module ActiveModel::AsJsonFilter

Constants

OptionMethods

默认公共字段配置

以下是个属性在配置时直接覆盖即可。

Public Instance Methods

as_json(options = {}) click to toggle source

InstanceMethods

Calls superclass method
# File lib/active_model_as_json_filter.rb, line 60
def as_json options = {}
  # 1. 配置参数
  _o = {}
  AsJsonOptions::OptionFields.each do |field|
    _v = Array(self.class.as_json_options.send(field)).flatten.to_a.map(&:to_sym)
    _o[field] = _v if not _v.empty?
  end
  result = super _o.merge(options)
  # 2. 两次全局和局部回调
  result = ActiveModel::AsJsonFilter.finalizer_proc.call(result)
  result = self.class.as_json_options.finalizer_proc.call(result, self)

  return result
end