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