Class: Encore::Serializer::Instance
- Inherits:
-
Object
- Object
- Encore::Serializer::Instance
- Defined in:
- lib/encore/serializer/instance.rb
Instance Method Summary collapse
- #as_json(*_) ⇒ Object
-
#initialize(collection, opts = {}) ⇒ Instance
constructor
A new instance of Instance.
Constructor Details
#initialize(collection, opts = {}) ⇒ Instance
12 13 14 15 16 |
# File 'lib/encore/serializer/instance.rb', line 12 def initialize(collection, opts = {}) @collection = collection @serializers = [serializer] = (opts) end |
Instance Method Details
#as_json(*_) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/encore/serializer/instance.rb', line 18 def as_json(*_) # Prepare main collection @collection = MetaManager.paginate_collection(@collection, ) @collection = EagerLoadingManager.add(@collection, [:include]) # Fetch linked ids linked_ids = MainResourceLinksManager.add(@collection, reflections, [:include]) # Build final output output = MainResourceManager.add(@collection, serializer) output.merge! linked: LinkedResourceManager.add(linked_ids, @collection) output.merge! meta: MetaManager.add(@collection, serializer, ) output end |