module ActiveSerializer::SerializableObject::ClassMethods
Public Instance Methods
serialization_rules(options = {}, &block)
click to toggle source
# File lib/active_serializer/serializable_object.rb, line 36 def serialization_rules(options = {}, &block) self.class_variable_set(:@@serialization_options, options) self.class_variable_set(:@@serialization_rules, block) end
serialize(*objects)
click to toggle source
# File lib/active_serializer/serializable_object.rb, line 8 def serialize(*objects) first_object = objects.first options = objects.last.is_a?(Hash) ? objects.last : {} serialization_options = self.class_variable_get(:@@serialization_options) serialization_rules = self.class_variable_get(:@@serialization_rules) if options[:serializable_fields] serializer = ActiveSerializer::Serializers::RestrictFieldsObjectSerializer.new(first_object, options) else serializer = ActiveSerializer::Serializers::ObjectSerializer.new(first_object, options) end instance_exec do serializer.instance_exec(*objects, &serialization_rules) end if serialization_options[:no_root_node] serializer.attrs.first[1] else serializer.attrs end end
serialize_all(collection, options = {})
click to toggle source
# File lib/active_serializer/serializable_object.rb, line 30 def serialize_all(collection, options = {}) collection.map do |object| serialize(object, options) end end