Sha256: 8dbd25ddc18ad799a37fc451eb2831acc753cda9bbb202f2c2812af11b0fee3a
Contents?: true
Size: 711 Bytes
Versions: 1
Compression:
Stored size: 711 Bytes
Contents
require 'csv' module Julia class Builder attr_reader :collection, :csv_options def initialize(collection, csv_options = Hash.new) @collection, @csv_options = collection, csv_options end def self.columns @columns ||= {} end def self.column(keyname, action = nil, &block) self.columns[keyname] = Action.new(keyname, action, &block) end def build CSV.generate(csv_options) do |csv| csv << columns.keys collection.each do |record| csv << columns.values.map do |action| action.get_value(record) end end end end protected def columns self.class.columns end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
julia_builder-0.1.3 | lib/julia/builder.rb |