Class: ActiveSerializer::Serializers::RestrictFieldsObjectSerializer

Inherits:
ObjectSerializer
  • Object
show all
Defined in:
lib/active_serializer/serializers/restrict_fields_object_serializer.rb

Instance Attribute Summary

Attributes inherited from ObjectSerializer

#attrs

Instance Method Summary collapse

Methods inherited from ObjectSerializer

#attributes, #namespace, #serialize_collection, #serialize_entity

Constructor Details

#initialize(object, options) ⇒ RestrictFieldsObjectSerializer

Returns a new instance of RestrictFieldsObjectSerializer.

Raises:

  • (ArgumentError)


2
3
4
5
6
# File 'lib/active_serializer/serializers/restrict_fields_object_serializer.rb', line 2

def initialize(object, options)
  raise ArgumentError, 'serializable_fields should be specified' unless options[:serializable_fields]
  super
  @serializable_fields = options[:serializable_fields].keys
end

Instance Method Details

#attribute(name, val = nil, &block) ⇒ Object



16
17
18
# File 'lib/active_serializer/serializers/restrict_fields_object_serializer.rb', line 16

def attribute(name, val = nil, &block)
  super if @serializable_fields.include?(name)
end

#resource(name, object = nil, &block) ⇒ Object



8
9
10
# File 'lib/active_serializer/serializers/restrict_fields_object_serializer.rb', line 8

def resource(name, object = nil, &block)
  super if @serializable_fields.include?(name)
end

#resources(name, objects = nil, &block) ⇒ Object



12
13
14
# File 'lib/active_serializer/serializers/restrict_fields_object_serializer.rb', line 12

def resources(name, objects = nil, &block)
  super if @serializable_fields.include?(name)
end