module NeonRAW::Clients::Base::Listings
Methods for building listings.
Constants
- OBJECT_KINDS
Private Instance Methods
build_listing(path, params)
click to toggle source
Creates the listing object. @!method build_listing
(path, params) @param path [String] The API path for the listing. @param params [Hash] The parameters for the request. @return [NeonRAW::Objects::Listing] Returns the Listing object.
# File lib/NeonRAW/clients/base/listing.rb, line 30 def build_listing(path, params) data_arr = [] until data_arr.length == params[:limit] data = request_data(path, :get, params) params[:after] = data[:data][:after] params[:before] = data[:data][:before] data[:data][:children].each do |item| data_arr << if item[:kind] == 't1' && item[:data].key?(:was_comment) Objects::InboxComment.new(self, item[:data]) else OBJECT_KINDS[item[:kind]].new(self, item[:data]) end break if data_arr.length == params[:limit] end break if params[:after].nil? end listing = OBJECT_KINDS['Listing'].new(params[:after], params[:before]) data_arr.each { |submission| listing << submission } listing end