class PlainSerializer::Base
The base class
Public Class Methods
new(*args)
click to toggle source
# File lib/plain_serializer/base.rb, line 11 def initialize(*args) Helpers.extract_options!(args) @attributes = args end
Private Class Methods
define_attribute(name)
click to toggle source
# File lib/plain_serializer/base.rb, line 36 def define_attribute(name) define_method(name) do |entity| entity.send(name) end end
Public Instance Methods
serialize(entity)
click to toggle source
# File lib/plain_serializer/base.rb, line 17 def serialize(entity) return if entity.nil? @attributes.each_with_object({}) do |attribute, result| result[attribute] = send(attribute, entity) end end
serialize_collection(entities)
click to toggle source
# File lib/plain_serializer/base.rb, line 25 def serialize_collection(entities) return if entities.nil? entities.each_with_object([]) do |entity, result| result << serialize(entity) end end