class AdequateSerializer::Collection
Attributes
collection[RW]
collection_options[RW]
root[RW]
Public Class Methods
new(collection, options = {})
click to toggle source
# File lib/adequate_serializer/collection.rb, line 10 def initialize(collection, options = {}) @collection = collection @root = options.delete(:root) @collection_options = options @collection_options[:root] = false end
Public Instance Methods
as_json(options = {})
click to toggle source
# File lib/adequate_serializer/collection.rb, line 17 def as_json(options = {}) data = collection.map { |item| serialize(item, collection_options) } if root == false data else { root_name => data } end end
Private Instance Methods
build_root()
click to toggle source
# File lib/adequate_serializer/collection.rb, line 33 def build_root if collection.respond_to?(:klass) klass = collection.klass else klass = collection.first.class end klass == NilClass ? 'nil' : klass.name.underscore.parameterize.pluralize end
root_name()
click to toggle source
# File lib/adequate_serializer/collection.rb, line 29 def root_name (root || build_root).to_sym end