Commit 2ababc97 authored by James Edwards-Jones's avatar James Edwards-Jones

CsvBuilder uses find_each

parent 3dff0e47
...@@ -29,7 +29,7 @@ class CsvBuilder ...@@ -29,7 +29,7 @@ class CsvBuilder
CSV.generate do |csv| CSV.generate do |csv|
csv << headers csv << headers
@collection.each do |object| @collection.find_each do |object|
csv << row(object) csv << row(object)
end end
end end
......
...@@ -2,9 +2,14 @@ require 'spec_helper' ...@@ -2,9 +2,14 @@ require 'spec_helper'
describe CsvBuilder, lib: true do describe CsvBuilder, lib: true do
let(:object) { double(question: :answer) } let(:object) { double(question: :answer) }
let(:subject) { CsvBuilder.new([object], 'Q & A' => :question, 'Reversed' => -> (o) { o.question.to_s.reverse }) } let(:fake_relation) { [object] }
let(:subject) { CsvBuilder.new(fake_relation, 'Q & A' => :question, 'Reversed' => -> (o) { o.question.to_s.reverse }) }
let(:csv_data) { subject.render } let(:csv_data) { subject.render }
before do
allow(fake_relation).to receive(:find_each).and_yield(object)
end
it 'generates a csv' do it 'generates a csv' do
expect(csv_data.scan(/(,|\n)/).join).to include ",\n," expect(csv_data.scan(/(,|\n)/).join).to include ",\n,"
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment