| Class | Tilt::CSVTemplate |
| In: |
lib/tilt/csv.rb
|
| Parent: | Template |
CSV Template implementation. See: ruby-doc.org/stdlib/libdoc/csv/rdoc/CSV.html
# Example of csv template
tpl = <<-EOS
# header
csv << ['NAME', 'ID']
# data rows
@people.each do |person|
csv << [person[:name], person[:id]]
end
EOS
@people = [
{:name => "Joshua Peek", :id => 1},
{:name => "Ryan Tomayko", :id => 2},
{:name => "Simone Carletti", :id => 3}
]
template = Tilt::CSVTemplate.new { tpl }
template.render(self)
# File lib/tilt/csv.rb, line 37
37: def self.engine
38: if RUBY_VERSION >= '1.9.0' && defined? ::CSV
39: ::CSV
40: elsif defined? ::FasterCSV
41: ::FasterCSV
42: end
43: end
# File lib/tilt/csv.rb, line 45
45: def initialize_engine
46: if RUBY_VERSION >= '1.9.0'
47: require_template_library 'csv'
48: else
49: require_template_library 'fastercsv'
50: end
51: end
# File lib/tilt/csv.rb, line 66
66: def precompiled(locals)
67: source, offset = super
68: [source, offset + 1]
69: end