Module: ActiveSerializer::SerializableObject::ClassMethods
- Defined in:
- lib/active_serializer/serializable_object.rb
Instance Method Summary collapse
- #serialization_rules(options = {}, &block) ⇒ Object
- #serialize(*objects) ⇒ Object
- #serialize_all(collection, options = {}) ⇒ Object
Instance Method Details
#serialization_rules(options = {}, &block) ⇒ Object
36 37 38 39 |
# File 'lib/active_serializer/serializable_object.rb', line 36 def serialization_rules( = {}, &block) self.class_variable_set(:@@serialization_options, ) self.class_variable_set(:@@serialization_rules, block) end |
#serialize(*objects) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/active_serializer/serializable_object.rb', line 8 def serialize(*objects) first_object = objects.first = objects.last.is_a?(Hash) ? objects.last : {} = self.class_variable_get(:@@serialization_options) serialization_rules = self.class_variable_get(:@@serialization_rules) if [:serializable_fields] serializer = ActiveSerializer::Serializers::RestrictFieldsObjectSerializer.new(first_object, ) else serializer = ActiveSerializer::Serializers::ObjectSerializer.new(first_object, ) end instance_exec do serializer.instance_exec(*objects, &serialization_rules) end if [:no_root_node] serializer.attrs.first[1] else serializer.attrs end end |
#serialize_all(collection, options = {}) ⇒ Object
30 31 32 33 34 |
# File 'lib/active_serializer/serializable_object.rb', line 30 def serialize_all(collection, = {}) collection.map do |object| serialize(object, ) end end |