module ActiveSerializer::Serializable
Public Instance Methods
serialization_rules(options = {}, &block)
click to toggle source
# File lib/active_serializer/serializable.rb, line 23 def serialization_rules(options = {}, &block) self.class_variable_set(:@@serialization_options, options) ActiveSerializer::SerializationRulesValidator.validate!(&block) self.class_variable_set(:@@serialization_rules, block) end
serialize(*objects)
click to toggle source
# File lib/active_serializer/serializable.rb, line 3 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
serialize_all(collection, options = {})
click to toggle source
# File lib/active_serializer/serializable.rb, line 17 def serialize_all(collection, options = {}) collection.map do |object| serialize(object, options) end end
Private Instance Methods
run_serialization(objects, serialization_rules, serialization_options)
click to toggle source
# File lib/active_serializer/serializable.rb, line 31 def run_serialization(objects, serialization_rules, serialization_options) raise NotImplementedError, "should be implemented in derived class" end