class Rbexy::Runtime

Constants

DefaultTagBuilder

Public Class Methods

create_tag_builder(context, provider = nil) click to toggle source
# File lib/rbexy/runtime.rb, line 15
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
new(component_provider = nil) click to toggle source
# File lib/rbexy/runtime.rb, line 33
def initialize(component_provider = nil)
  @rbexy_tag = self.class.create_tag_builder(self, component_provider)
end
provider_from_context(context) click to toggle source
# File lib/rbexy/runtime.rb, line 27
def self.provider_from_context(context)
  if context.respond_to?(:rbexy_component_provider)
    context.rbexy_component_provider
  end
end

Public Instance Methods

evaluate(code) click to toggle source
# File lib/rbexy/runtime.rb, line 37
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