Sha256: efa4c21904917169766f85ef6387d849a32cbd0e79bf0aa2cb8c9da0750c6d51
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
module ActiveSerializer::Serializable def serialize(*objects) serialization_options = self.class_variable_get(:@@serialization_options) serialization_rules = self.class_variable_get(:@@serialization_rules) ActiveSerializer::Support::ArgsValidator.not_nil!(serialization_rules, :serialization_rules) serialized_data = run_serialization(objects, serialization_rules, serialization_options) if serialization_options[:no_root_node] serialized_data.first[1] else serialized_data end end def serialize_all(collection, options = {}) collection.map do |object| serialize(object, options) end end def serialization_rules(options = {}, &block) self.class_variable_set(:@@serialization_options, options) ActiveSerializer::SerializationRulesValidator.validate!(&block) self.class_variable_set(:@@serialization_rules, block) end private def run_serialization(objects, serialization_rules, serialization_options) raise NotImplementedError, "should be implemented in derived class" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active_serializer-0.1.1 | lib/active_serializer/serializable.rb |
active_serializer-0.1.0 | lib/active_serializer/serializable.rb |