Sha256: 6246a174d3d8e15bd147a4b981840f8724912ac00a6285ba409fdf639e118aff
Contents?: true
Size: 1.16 KB
Versions: 3
Compression:
Stored size: 1.16 KB
Contents
require "active_support/all" require "action_view/helpers" require "action_view/context" require "action_view/buffers" module Rbexy class Runtime include ActionView::Context include ActionView::Helpers::TagHelper include ViewContextHelper DefaultTagBuilder = ActionView::Helpers::TagHelper::TagBuilder def self.create_tag_builder(context, provider = nil) provider = provider || provider_from_context(context) || Rbexy.configuration.component_provider if provider ComponentTagBuilder.new(context, provider) else ActionView::Helpers::TagHelper::TagBuilder.new(context) end end def self.provider_from_context(context) if context.respond_to?(:rbexy_component_provider) context.rbexy_component_provider end end def initialize(component_provider = nil) @rbexy_tag = self.class.create_tag_builder(self, component_provider) end def evaluate(code) @output_buffer = ActionView::OutputBuffer.new instance_eval(code) rescue => e e.set_backtrace(e.backtrace.map { |l| l.gsub("(eval)", "(rbx template string)") }) raise e end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rbexy-1.0.2 | lib/rbexy/runtime.rb |
rbexy-1.0.1 | lib/rbexy/runtime.rb |
rbexy-1.0.0 | lib/rbexy/runtime.rb |