class SimpleSerializer::Serializer
Attributes
_hash_attributes[RW]
object[RW]
Public Class Methods
hash_attributes(*attrs)
click to toggle source
# File lib/simple_serializer/serializer.rb, line 34 def hash_attributes(*attrs) @_hash_attributes.concat attrs attrs.each do |attr| define_method attr do object.send(attr) end unless method_defined?(attr) end end
inherited(base)
click to toggle source
# File lib/simple_serializer/serializer.rb, line 30 def inherited(base) base._hash_attributes = [] end
new(object, _={})
click to toggle source
# File lib/simple_serializer/serializer.rb, line 57 def initialize(object, _={}) @object = object end
serialize(object)
click to toggle source
# File lib/simple_serializer/serializer.rb, line 48 def serialize(object) self.new(object).serialize end
Also aliased as: as_json
serialize_array(objects)
click to toggle source
# File lib/simple_serializer/serializer.rb, line 44 def serialize_array(objects) objects.map { |obj| serialize(obj) } end
Public Instance Methods
extract_attributes()
click to toggle source
# File lib/simple_serializer/serializer.rb, line 61 def extract_attributes self.class._hash_attributes.dup.each_with_object({}) do |name, hash| hash[name] = send(name) end end
serialize(_={})
click to toggle source
# File lib/simple_serializer/serializer.rb, line 67 def serialize(_={}) return nil if object.nil? extract_attributes end
Also aliased as: as_json