Class: RailsConsolePro::Serializers::ArraySerializer

Inherits:
BaseSerializer show all
Defined in:
lib/rails_console_pro/serializers/array_serializer.rb

Instance Method Summary collapse

Methods inherited from BaseSerializer

#initialize, serialize

Constructor Details

This class inherits a constructor from RailsConsolePro::Serializers::BaseSerializer

Instance Method Details

#serialize(array) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/rails_console_pro/serializers/array_serializer.rb', line 6

def serialize(array)
  if array.all? { |item| item.is_a?(ActiveRecord::Base) }
    {
      'type' => 'active_record_collection',
      'model' => array.first.class.name,
      'count' => array.size,
      'records' => array.map { |r| serialize_active_record(r) }
    }
  else
    {
      'type' => 'array',
      'count' => array.size,
      'items' => array.map { |item| serialize_data(item) }
    }
  end
end