Class: Panko::ArraySerializer
- Inherits:
-
Object
- Object
- Panko::ArraySerializer
- Defined in:
- lib/panko/array_serializer.rb
Instance Attribute Summary collapse
-
#subjects ⇒ Object
Returns the value of attribute subjects.
Instance Method Summary collapse
-
#initialize(subjects, options = {}) ⇒ ArraySerializer
constructor
A new instance of ArraySerializer.
- #serialize(subjects) ⇒ Object
- #serialize_to_json(subjects) ⇒ Object
- #to_a ⇒ Object
- #to_json ⇒ Object
Constructor Details
#initialize(subjects, options = {}) ⇒ ArraySerializer
Returns a new instance of ArraySerializer.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/panko/array_serializer.rb', line 7 def initialize(subjects, = {}) @subjects = subjects @each_serializer = [:each_serializer] if @each_serializer.nil? raise ArgumentError, %{ Please pass valid each_serializer to ArraySerializer, for example: > Panko::ArraySerializer.new(posts, each_serializer: PostSerializer) } end = { only: .fetch(:only, []), except: .fetch(:except, []), context: [:context], scope: [:scope] } @serialization_context = SerializationContext.create() @descriptor = Panko::SerializationDescriptor.build(@each_serializer, , @serialization_context) end |
Instance Attribute Details
#subjects ⇒ Object
Returns the value of attribute subjects.
5 6 7 |
# File 'lib/panko/array_serializer.rb', line 5 def subjects @subjects end |
Instance Method Details
#serialize(subjects) ⇒ Object
33 34 35 |
# File 'lib/panko/array_serializer.rb', line 33 def serialize(subjects) serialize_with_writer(subjects, Panko::ObjectWriter.new).output end |
#serialize_to_json(subjects) ⇒ Object
41 42 43 |
# File 'lib/panko/array_serializer.rb', line 41 def serialize_to_json(subjects) serialize_with_writer(subjects, Oj::StringWriter.new(mode: :rails)).to_s end |
#to_a ⇒ Object
37 38 39 |
# File 'lib/panko/array_serializer.rb', line 37 def to_a serialize_with_writer(@subjects, Panko::ObjectWriter.new).output end |
#to_json ⇒ Object
29 30 31 |
# File 'lib/panko/array_serializer.rb', line 29 def to_json serialize_to_json @subjects end |