Sha256: a235db91c617797b364e89bc6197642f4c2c9d3c56d18c4434b98b7aec96a1e5

Contents?: true

Size: 1.25 KB

Versions: 13

Compression:

Stored size: 1.25 KB

Contents

# The base serializer defines the interface for all REST Framework serializers.
class RESTFramework::Serializers::BaseSerializer
  # Add `object` accessor to be compatible with `ActiveModel::Serializer`.
  attr_accessor :object

  # Accept/ignore `*args` to be compatible with the `ActiveModel::Serializer#initialize` signature.
  def initialize(object=nil, *args, controller: nil, **kwargs)
    @object = object
    @controller = controller
  end

  # The primary interface for extracting a native Ruby types. This works both for records and
  # collections. We accept and ignore `*args` for compatibility with `active_model_serializers`.
  def serialize(*args)
    raise NotImplementedError
  end

  # Synonym for `serialize` for compatibility with `active_model_serializers`.
  def serializable_hash(*args)
    return self.serialize(*args)
  end

  # For compatibility with `active_model_serializers`.
  def self.cache_enabled?
    return false
  end

  # For compatibility with `active_model_serializers`.
  def self.fragment_cache_enabled?
    return false
  end

  # For compatibility with `active_model_serializers`.
  def associations(*args, **kwargs)
    return []
  end
end

# Alias for convenience.
RESTFramework::BaseSerializer = RESTFramework::Serializers::BaseSerializer

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rest_framework-1.0.0.beta2 lib/rest_framework/serializers/base_serializer.rb
rest_framework-1.0.0.beta1 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.11.0 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.10.0 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.16 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.15 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.14 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.12.pre.1.pre.g39306cb lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.11.pre.40.pre.g5dcad32 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.11 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.10 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.9 lib/rest_framework/serializers/base_serializer.rb
rest_framework-0.9.8 lib/rest_framework/serializers/base_serializer.rb