Sha256: cf96ebb8481ea3423a3e52dbd89641bc13d0ac1ecda9e908f22181c4249b3268

Contents?: true

Size: 910 Bytes

Versions: 3

Compression:

Stored size: 910 Bytes

Contents

require 'builder'

module SimpleView

	class SimpleViewBuilder < SimpleViewBase
	
		EXTENTION = ".builder.rb".freeze unless defined?(EXTENTION)

		def self.extension
			EXTENTION
		end

		SimpleViewBase.register(self)

		def do_rendering(rendable_object, options)
			options = {:indent => 2}.merge(options)
			filename = options.delete(:filename) || '<BUILDER>'
			line = options.delete(:line) || 1
			xml = ::Builder::XmlMarkup.new(options)
			rendable_object.put_locals_objects((options.delete(:builder_name) || :xml).to_sym => xml)
			render_with_helper(rendable_object) do
				eval self.template_content, rendable_object.get_binding, filename, line
			end
			xml.target!
		end

	end
	
	
	module Renderable

		module InstanceMethods		

			def render_builder(template, options = {})				
				render_with SimpleViewBuilder, template, options
			end
		
		end
	
	end

end

Version data entries

3 entries across 2 versions & 1 rubygems

Version Path
simple_view-0.0.2 lib/simple_view/builder_view.rb
simple_view-0.0.1 lib/simple_view/builder_view.rb
simple_view-0.0.1 lib/simple_view/CVS/RevisionCache/builder_view.rb#1.1.1.1