Sha256: c737c3cdb0b0f8d9da148fa008d8fbcbb6962c1b63f4558b3d7bb17c1fc3b31a
Contents?: true
Size: 789 Bytes
Versions: 2
Compression:
Stored size: 789 Bytes
Contents
class CbuilderTemplate < Cbuilder def initialize(context, *args) @context = context super(*args) end def partial!(options, locals = {}) case options when Hash options[:locals] ||= {} options[:locals].merge!(:csv => self) @context.render(options.reverse_merge(:formats => [:csv])) else @context.render(:partial => options, :locals => locals.merge(:csv => self), :formats => [:csv]) end end end class CbuilderHandler cattr_accessor :default_format self.default_format = Mime::CSV def self.call(template) %{__already_defined = defined?(csv); csv||=CbuilderTemplate.new(self); #{template.source} csv.target! unless __already_defined} end end ActionView::Template.register_template_handler :cbuilder, CbuilderHandler
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cbuilder-0.0.2 | lib/cbuilder_template.rb |
cbuilder-0.0.1 | lib/cbuilder_template.rb |