Sha256: c6653d1e391cc9f265dd256f14123da181105ff3d0198d8696abfd8d11f7ee71

Contents?: true

Size: 488 Bytes

Versions: 1

Compression:

Stored size: 488 Bytes

Contents

require 'active_support/concern'

module Journey::Resource::BatchWhere
  extend ActiveSupport::Concern

  included do

    def self.batch_where(clauses, batch_size=100)

      total_count = count_multiple(clauses)
      query_count = (total_count / batch_size.to_f).ceil.to_i

      (0 ... query_count).to_a.map do |batch_index|

        where_multiple clauses.merge({
          limit: batch_size,
          skip: batch_index * batch_size
        })

      end.flatten
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
embark-journey-0.1.4 lib/journey/resource/batch_where.rb