class Tilt::CSVTemplate
CSV Template
implementation. See: ruby-doc.org/stdlib/libdoc/csv/rdoc/CSV.html
Example¶ ↑
# 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)
Public Class Methods
engine()
click to toggle source
# File lib/tilt/csv.rb 39 def self.engine 40 if RUBY_VERSION >= '1.9.0' && defined? ::CSV 41 ::CSV 42 elsif defined? ::FasterCSV 43 ::FasterCSV 44 end 45 end
Public Instance Methods
precompiled(locals)
click to toggle source
Calls superclass method
Template#precompiled
# File lib/tilt/csv.rb 59 def precompiled(locals) 60 source, offset = super 61 [source, offset + 1] 62 end
precompiled_template(locals)
click to toggle source
# File lib/tilt/csv.rb 51 def precompiled_template(locals) 52 <<-RUBY 53 #{@outvar} = #{self.class.engine}.generate(#{options}) do |csv| 54 #{data} 55 end 56 RUBY 57 end
prepare()
click to toggle source
# File lib/tilt/csv.rb 47 def prepare 48 @outvar = options.delete(:outvar) || '_csvout' 49 end