Class: Apiwork::Adapter::Standard::Capability::Pagination::Operation::Paginate::Cursor

Inherits:
Object
  • Object
show all
Defined in:
lib/apiwork/adapter/standard/capability/pagination/operation/paginate/cursor.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(relation, config, params) ⇒ Cursor

Returns a new instance of Cursor.



17
18
19
20
21
# File 'lib/apiwork/adapter/standard/capability/pagination/operation/paginate/cursor.rb', line 17

def initialize(relation, config, params)
  @relation = relation
  @config = config
  @params = params
end

Class Method Details

.apply(relation, config, params) ⇒ Object



12
13
14
# File 'lib/apiwork/adapter/standard/capability/pagination/operation/paginate/cursor.rb', line 12

def apply(relation, config, params)
  new(relation, config, params).apply
end

Instance Method Details

#applyObject



23
24
25
26
27
28
29
30
# File 'lib/apiwork/adapter/standard/capability/pagination/operation/paginate/cursor.rb', line 23

def apply
  size = @params.fetch(:size, @config.default_size).to_i
  records = fetch_records(size)
  has_more = records.length > size
  records = records.first(size)

  { data: records, metadata: (records, has_more) }
end