Sha256: faa2a107d236f62e74432ef73eedb9a802e7d64d0286651ef33647f8cacb019c

Contents?: true

Size: 1.23 KB

Versions: 37

Compression:

Stored size: 1.23 KB

Contents

require 'active_support/core_ext'
require 'action_view'

module Wunderbar
  module Rails
    class HtmlHandler
      cattr_accessor :default_format
      self.default_format = Mime::HTML

      def self.call(template)
        %{
          compiled = Proc.new {#{template.source}}
          x = Wunderbar::HtmlMarkup.new(self);
          instance_variables.each do |var|
            x.instance_variable_set var, instance_variable_get(var)
          end
          x.instance_eval &compiled
          x._.target!
        }.strip # take care to preserve line numbers in original source
      end
    end

    class JsonHandler
      cattr_accessor :default_format
      self.default_format = Mime::JSON

      def self.call(template)
        %{
          compiled = Proc.new {#{template.source}}
          x = Wunderbar::JsonBuilder.new(self);
          instance_variables.each do |var|
            x.instance_variable_set var, instance_variable_get(var)
          end
          x.instance_eval &compiled
          x.target!
        }.strip # take care to preserve line numbers in original source
      end
    end

    ActionView::Template.register_template_handler :_html, HtmlHandler
    ActionView::Template.register_template_handler :_json, JsonHandler
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
wunderbar-1.0.21 lib/wunderbar/rails.rb
wunderbar-1.0.20 lib/wunderbar/rails.rb
wunderbar-1.0.19 lib/wunderbar/rails.rb
wunderbar-1.0.18 lib/wunderbar/rails.rb
wunderbar-1.0.17 lib/wunderbar/rails.rb
wunderbar-1.0.16 lib/wunderbar/rails.rb
wunderbar-1.0.15 lib/wunderbar/rails.rb
wunderbar-1.0.14 lib/wunderbar/rails.rb
wunderbar-1.0.13 lib/wunderbar/rails.rb
wunderbar-1.0.12 lib/wunderbar/rails.rb
wunderbar-1.0.11 lib/wunderbar/rails.rb
wunderbar-1.0.10 lib/wunderbar/rails.rb
wunderbar-1.0.9 lib/wunderbar/rails.rb
wunderbar-1.0.8 lib/wunderbar/rails.rb
wunderbar-1.0.7 lib/wunderbar/rails.rb
wunderbar-1.0.6 lib/wunderbar/rails.rb
wunderbar-1.0.5 lib/wunderbar/rails.rb
wunderbar-1.0.4 lib/wunderbar/rails.rb
wunderbar-1.0.3 lib/wunderbar/rails.rb
wunderbar-1.0.2 lib/wunderbar/rails.rb