class Hasta::SortedDataSource

Decorator for a data source that yields the contents in sorted order

Attributes

data_source[R]

Public Class Methods

new(data_source) click to toggle source
# File lib/hasta/sorted_data_source.rb, line 6
def initialize(data_source)
  @data_source = data_source
end

Public Instance Methods

each_line() { |line| ... } click to toggle source
# File lib/hasta/sorted_data_source.rb, line 14
def each_line
  return enum_for(:each_line) unless block_given?

  sorted_lines.each do |line|
    yield line
  end
end
name() click to toggle source
# File lib/hasta/sorted_data_source.rb, line 10
def name
  data_source.name
end
to_s() click to toggle source
# File lib/hasta/sorted_data_source.rb, line 22
def to_s
  "#<#{self.class.name}:#{name} size=#{lines.count} lines>"
end

Private Instance Methods

sorted_lines() click to toggle source
# File lib/hasta/sorted_data_source.rb, line 30
def sorted_lines
  data_source.to_a.sort.tap do
    Hasta.logger.debug "Finished sorting data for source: #{data_source}"
  end
end