class LiquidStream::Streams
Public Class Methods
new(source=nil, stream_context={})
click to toggle source
# File lib/liquid_stream/streams.rb, line 8 def initialize(source=nil, stream_context={}) @source = source_from(source) @stream_context = stream_context end
Public Instance Methods
each(&block)
click to toggle source
# File lib/liquid_stream/streams.rb, line 27 def each(&block) to_a.each(&block) end
first()
click to toggle source
# File lib/liquid_stream/streams.rb, line 13 def first @first ||= singleton_class.new(@source.first) end
last()
click to toggle source
# File lib/liquid_stream/streams.rb, line 17 def last @last ||= singleton_class.new(@source.last) end
to_a()
click to toggle source
# File lib/liquid_stream/streams.rb, line 21 def to_a @source.map do |object| singleton_class.new(object) end end
Private Instance Methods
singleton_class()
click to toggle source
# File lib/liquid_stream/streams.rb, line 33 def singleton_class @singleton_class ||= Utils. stream_class_from(@stream_context[:method] || self.class) end
source_from(s)
click to toggle source
# File lib/liquid_stream/streams.rb, line 38 def source_from(s) src = s src ||= if self.class.default_source.respond_to?(:call) self.class.default_source.call else self.class.default_source end src ||= [] src end