module PlainSerializer::Serializable::ClassMethods
Defines required methods for base class
Public Instance Methods
define_collection_serializer(name, klass)
click to toggle source
# File lib/plain_serializer/serializable.rb, line 44 def define_collection_serializer(name, klass) serializers[name] = klass define_method(name) do |entity| serializer(name).serialize_collection(entity.send(name)) end end
define_serializer(name, klass)
click to toggle source
# File lib/plain_serializer/serializable.rb, line 36 def define_serializer(name, klass) serializers[name] = klass define_method(name) do |entity| serializer(name).serialize(entity.send(name)) end end
serializers()
click to toggle source
# File lib/plain_serializer/serializable.rb, line 52 def serializers @serializers ||= {} end
setup(*args)
click to toggle source
# File lib/plain_serializer/serializable.rb, line 24 def setup(*args) options = Helpers.extract_options!(args) attributes = args + options.keys new(*attributes).tap do |instance| options.each do |serializer_name, opts| instance.setup_serializer(serializer_name, opts) end end end