class SimpleCsvCreator::Generator
Attributes
columns[R]
Public Class Methods
new()
click to toggle source
# File lib/simple_csv_creator/generator.rb, line 5 def initialize @columns = [] end
Public Instance Methods
column(column_name, &block)
click to toggle source
# File lib/simple_csv_creator/generator.rb, line 9 def column(column_name, &block) column = ::SimpleCsvCreator::Column.new(column_name, &block) @columns.push(column) end
generate_using(generator)
click to toggle source
# File lib/simple_csv_creator/generator.rb, line 22 def generate_using(generator) generate do |csv, columns| generator.call do |resource| csv << columns.map { |column| column.value(resource) } end end end
simple_generate(resources)
click to toggle source
# File lib/simple_csv_creator/generator.rb, line 14 def simple_generate(resources) generate do |csv, columns| resources.each do |resource| csv << columns.map { |column| column.value(resource) } end end end
Private Instance Methods
column_human_names()
click to toggle source
# File lib/simple_csv_creator/generator.rb, line 39 def column_human_names @columns.map(&:human_name) end
generate() { |csv, columns| ... }
click to toggle source
# File lib/simple_csv_creator/generator.rb, line 32 def generate CSV.generate do |csv| csv << column_human_names yield(csv, columns) end end