class ActiveSerializer::Serializers::RestrictFieldsObjectSerializer
Public Class Methods
new(object, options)
click to toggle source
Calls superclass method
ActiveSerializer::Serializers::ObjectSerializer::new
# 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
Public Instance Methods
attribute(name, val = nil, &block)
click to toggle source
Calls superclass method
ActiveSerializer::Serializers::ObjectSerializer#attribute
# 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)
click to toggle source
Calls superclass method
ActiveSerializer::Serializers::ObjectSerializer#resource
# 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)
click to toggle source
Calls superclass method
ActiveSerializer::Serializers::ObjectSerializer#resources
# 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
Protected Instance Methods
nested_resource(name, object, root_options, serializer_class = self.class, &block)
click to toggle source
Calls superclass method
ActiveSerializer::Serializers::ObjectSerializer#nested_resource
# File lib/active_serializer/serializers/restrict_fields_object_serializer.rb, line 26 def nested_resource(name, object, root_options, serializer_class = self.class, &block) options = root_options.dup serializable_fields = root_options[:serializable_fields][name] if !serializable_fields return elsif serializable_fields == true super(name, object, options, ActiveSerializer::Serializers::ObjectSerializer, &block) elsif serializable_fields.is_a?(Hash) options[:serializable_fields] = serializable_fields super(name, object, options, &block) else raise ArgumentError, "serializable_fields' values should be boolean or hash" end end
serialize_attribute(attribute, target)
click to toggle source
Calls superclass method
ActiveSerializer::Serializers::ObjectSerializer#serialize_attribute
# File lib/active_serializer/serializers/restrict_fields_object_serializer.rb, line 22 def serialize_attribute(attribute, target) super if @serializable_fields.include?(attribute) end