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
Returns a new instance of Instance.
12 13 14 15 16 |
# File 'lib/encore/serializer/instance.rb', line 12 def initialize(collection, opts = {}) @collection = collection @serializers = [serializer] @options = (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, @options) @collection = EagerLoadingManager.add(@collection, @options[:include]) # Fetch linked ids linked_ids = MainResourceLinksManager.add(@collection, reflections, @options[:include]) # Build final output output = MainResourceManager.add(@collection, serializer) output.merge! linked: LinkedResourceManager.add(linked_ids, @collection) output.merge! meta: MetaManager.add(@collection, serializer, @options) output end |