module Thron::Pageable::ClassMethods

Public Instance Methods

paginate(*apis) click to toggle source
# File lib/thron/pageable.rb, line 6
def paginate(*apis)
  (@paginated_apis = apis).each do |api|
    define_method("#{api}_paginator") do |*args|
      options = args.empty? ? {} : args.last
      limit = options.delete(:limit) { Paginator::MAX_LIMIT }
      body = ->(limit, offset) { send(api, options.merge!({ offset: offset, limit: limit })) }
      Paginator::new(body: body, limit: limit)
    end
  end
end
paginator_methods() click to toggle source
# File lib/thron/pageable.rb, line 17
def paginator_methods
  Array(@paginated_apis).map { |api| :"#{api}_paginator" }
end