diff options
Diffstat (limited to 'fake-service/lib/pixelated_service/paginated_enumerable.rb')
-rw-r--r-- | fake-service/lib/pixelated_service/paginated_enumerable.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/fake-service/lib/pixelated_service/paginated_enumerable.rb b/fake-service/lib/pixelated_service/paginated_enumerable.rb new file mode 100644 index 00000000..b1045e2f --- /dev/null +++ b/fake-service/lib/pixelated_service/paginated_enumerable.rb @@ -0,0 +1,29 @@ + +module PixelatedService + class Paginate + class PaginatedEnumerable + include Enumerable + def initialize(input, start, e) + @input = input + @start = start + @end = e + end + + def each + @input.each_with_index do |v, ix| + if ix >= @end + return #we are done + elsif ix >= @start + yield v + end + end + end + + def each_total + @input.each do |v| + yield v + end + end + end + end +end |