Sha256: d9f45adb021fdc7854962024fa129343c700c88c72f1092112294ce6afc7f091

Contents?: true

Size: 591 Bytes

Versions: 4

Compression:

Stored size: 591 Bytes

Contents

# frozen_string_literal: true

require_relative 'basic_model'

module Redd
  module Models
    # A backward-expading listing of items.
    # @see Stream
    class Listing < BasicModel
      include Enumerable

      # @return [Array<Comment, Submission, PrivateMessage>] an array representation of self
      def to_ary
        get_attribute(:children)
      end

      %i([] each empty? first last).each do |method_name|
        define_method(method_name) do |*args, &block|
          get_attribute(:children).public_send(method_name, *args, &block)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
redd-0.8.8 lib/redd/models/listing.rb
redd-0.8.7 lib/redd/models/listing.rb
redd-0.8.6 lib/redd/models/listing.rb
redd-0.8.5 lib/redd/models/listing.rb