Class: LinkedRails::Collection::InfiniteView

Inherits:
Object
  • Object
show all
Defined in:
app/models/linked_rails/collection/infinite_view.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(orignial = {}) ⇒ InfiniteView

Returns a new instance of InfiniteView.



8
9
10
11
12
# File 'app/models/linked_rails/collection/infinite_view.rb', line 8

def initialize(orignial = {})
  attrs = orignial.with_indifferent_access
  attrs[:before] = attrs[:before]&.map { |val| val.with_indifferent_access }
  super(attrs)
end

Instance Attribute Details

#beforeObject

Returns the value of attribute before.



6
7
8
# File 'app/models/linked_rails/collection/infinite_view.rb', line 6

def before
  @before
end

Instance Method Details

#nextObject



14
15
16
17
18
19
20
21
22
23
24
# File 'app/models/linked_rails/collection/infinite_view.rb', line 14

def next
  return if before.blank? || members.blank?

  current_opts = {
    collection: collection,
    filter: filter
  }
  next_view = collection.view_with_opts(current_opts.merge(before: next_before_values))

  next_view.iri if next_view.count.positive?
end

#prevObject



26
# File 'app/models/linked_rails/collection/infinite_view.rb', line 26

def prev; end

#typeObject



28
29
30
# File 'app/models/linked_rails/collection/infinite_view.rb', line 28

def type
  :infinite
end