Class: Api::V5::NotificationsFilter

Inherits:
Object
  • Object
show all
Includes:
PaginationConcernFilter
Defined in:
app/filters/api/v5/notifications_filter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from PaginationConcernFilter

#page_number, #per_page

Instance Attribute Details

#collectionsObject

Returns the value of attribute collections.



5
6
7
# File 'app/filters/api/v5/notifications_filter.rb', line 5

def collections
  @collections
end

Instance Method Details

#as_json(context, version, options = {}) ⇒ Object

Examples:

options = {}

Parameters:

  • context (Struct)

    Serialization Context

  • version (Integer)

    ApiV5::Constants::DEFAULT_MINOR_VERSION

  • options (Hash) (defaults to: {})
    • include options to be passed to Serializer instance



20
21
22
23
24
25
26
27
# File 'app/filters/api/v5/notifications_filter.rb', line 20

def as_json(context, version, options = {})
  options[:each_serializer] = Api::V5::NotificationSerializer
  ActiveModelSerializers::SerializableResource.new(collections,
                                                   { serialization_context: context,
                                                     serializer: ActiveModel::Serializer::CollectionSerializer,
                                                     adapter: :json_api }.merge(options)
                                                  ).as_json
end

#init_default(user_id) ⇒ Object



9
10
11
12
# File 'app/filters/api/v5/notifications_filter.rb', line 9

def init_default(user_id)
  self.collections = Message.where(user_type: 'User', user_id: user_id).order('id desc')
  self
end