class JSONAPI::Resources::OptionalPaginators::OptionalPaginator

Attributes

wrapped_class[RW]
delegate[R]

Public Class Methods

for(paginator_class_argument) click to toggle source
# File lib/jsonapi/resources/optional_paginators/optional_paginator.rb, line 12
def for(paginator_class_argument)
  Class.new(self).tap do |wrapper_class|
    wrapper_class.wrapped_class = paginator_class_argument
  end
end
new(params) click to toggle source
Calls superclass method
# File lib/jsonapi/resources/optional_paginators/optional_paginator.rb, line 25
def initialize(params)
  inner_paginator = paginator_for_params(params).new(params)
  super(inner_paginator)
end
requires_record_count() click to toggle source
# File lib/jsonapi/resources/optional_paginators/optional_paginator.rb, line 21
def self.requires_record_count
  wrapped_class.requires_record_count
end

Public Instance Methods

paginator_for_params(params) click to toggle source
# File lib/jsonapi/resources/optional_paginators/optional_paginator.rb, line 30
def paginator_for_params(params)
  if params.nil?
    NullPaginator
  else
    self.class.wrapped_class
  end
end