module Fetching::FetchingArray::ArrayMethods

Public Instance Methods

empty?() click to toggle source
# File lib/fetching/fetching_array.rb, line 28
def empty?
  @table.empty?
end
length() click to toggle source
# File lib/fetching/fetching_array.rb, line 32
def length
  @table.length
end
Also aliased as: size
reverse() click to toggle source
# File lib/fetching/fetching_array.rb, line 37
def reverse
  Fetching.from @table.reverse
end
shuffle(*args) click to toggle source
# File lib/fetching/fetching_array.rb, line 41
def shuffle(*args)
  Fetching.from @table.shuffle(*args)
end
size()
Alias for: length
sort(&block) click to toggle source
# File lib/fetching/fetching_array.rb, line 45
def sort(&block)
  Fetching.from @table.sort(&block)
end
sort_by(&block) click to toggle source
# File lib/fetching/fetching_array.rb, line 49
def sort_by(&block)
  Fetching.from @table.sort_by(&block)
end
values_at(*args) click to toggle source
# File lib/fetching/fetching_array.rb, line 53
def values_at(*args)
  results = args.map { |arg| result_for_argument(arg) }.flatten

  Fetching.from(results)
end

Private Instance Methods

result_for_argument(argument) click to toggle source
# File lib/fetching/fetching_array.rb, line 61
def result_for_argument(argument)
  case argument
  when Integer
    values_at_integer(argument)
  when Array
    values_at_array(argument)
  when Range
    values_at_range(argument)
  end
end
values_at_array(array) click to toggle source
# File lib/fetching/fetching_array.rb, line 76
def values_at_array(array)
  array.map { |a| values_at_integer(a) }
end
values_at_integer(integer) click to toggle source
# File lib/fetching/fetching_array.rb, line 72
def values_at_integer(integer)
  self[integer]
end
values_at_range(range) click to toggle source
# File lib/fetching/fetching_array.rb, line 80
def values_at_range(range)
  values_at_array(range.to_a)
end