Class: Gearhead::Serializers::ActiveModelSerializers::ResourceSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/gearhead/serializers/active_model_serializers/resource_serializer.rb

Class Method Summary collapse

Class Method Details

.for(page) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/gearhead/serializers/active_model_serializers/resource_serializer.rb', line 5

def self.for(page)
  if defined?(ActiveModel::Serializer)
    klass = Class.new(ActiveModel::Serializer)
    klass.attributes *(page._gear_attributes.presence || page.default_attributes)

    page._gear_custom_attributes.each do |attr, block|
      klass.attribute attr do |klass|
        block.call(klass.object)
      end
    end

    klass
  end
end