Sha256: 72a95f016b74d86522eb4e231d77f8bbd573f5328c912e47c369c3606cb1b608

Contents?: true

Size: 899 Bytes

Versions: 14

Compression:

Stored size: 899 Bytes

Contents

ActionController::Base.class_eval do
  def render_widget(widget_class, assigns=nil)
    @__widget_class = widget_class
    if assigns
      @__widget_assigns = assigns
    else
      @__widget_assigns = {}
      variables = instance_variable_names
      variables -= protected_instance_variables
      variables.each do |name|
        @__widget_assigns[name.sub('@', "")] = instance_variable_get(name)
      end
    end
    response.template.send(:_evaluate_assigns_and_ivars)
    render :inline => "<% @__widget_class.new(@__widget_assigns).to_s(:output => output_buffer, :helpers => self) %>"
  end

  def render_with_erector_widget(*options, &block)
    if options.first.is_a?(Hash) && widget = options.first.delete(:widget)
      render_widget widget, @assigns, &block
    else
      render_without_erector_widget *options, &block
    end
  end
  alias_method_chain :render, :erector_widget
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
pivotal-erector-0.6.0 lib/erector/rails/extensions/action_controller.rb
pivotal-erector-0.6.1 lib/erector/rails/extensions/action_controller.rb
pivotal-erector-0.6.2 lib/erector/rails/extensions/action_controller.rb
pivotal-erector-0.6.3 lib/erector/rails/extensions/action_controller.rb
pivotal-erector-0.6.4 lib/erector/rails/extensions/action_controller.rb
pivotal-erector-0.6.5 lib/erector/rails/extensions/action_controller.rb
pivotal-erector-0.6.6 lib/erector/rails/extensions/action_controller.rb
pivotal-erector-0.6.7 lib/erector/rails/extensions/action_controller.rb
pivotal-erector-0.7.0 lib/erector/rails/extensions/action_controller.rb
erector-0.7.0 lib/erector/rails/extensions/action_controller.rb
erector-0.6.7 lib/erector/rails/extensions/action_controller.rb
erector-0.6.6 lib/erector/rails/extensions/action_controller.rb
erector-0.6.4 lib/erector/rails/extensions/action_controller.rb
erector-0.6.3 lib/erector/rails/extensions/action_controller.rb