Sha256: 4543f92d5124fdd5a7c39ecda5ae6d61d7c7ba62d20e642ed39bb514f71fc3da

Contents?: true

Size: 787 Bytes

Versions: 2

Compression:

Stored size: 787 Bytes

Contents

require "handlebars"
require "active_support"

module ShtRails

  module Handlebars
    def self.call(template)
      if template.locals.include?(ShtRails.action_view_key.to_s) || template.locals.include?(ShtRails.action_view_key.to_sym)
<<-SHT
  hbs_context_for_sht = Handlebars::Context.new
  partials.each do |key, value|
    hbs_context_for_sht.register_partial(key, value)
  end if defined?(partials) && partials.is_a?(Hash)
  hbs_context_for_sht.compile(#{template.source.inspect}).call(#{ShtRails.action_view_key.to_s} || {}).html_safe
SHT
      else
        "#{template.source.inspect}.html_safe"
      end
    end
  end
end

ActiveSupport.on_load(:action_view) do
  ActionView::Template.register_template_handler(::ShtRails.template_extension.to_sym, ::ShtRails::Handlebars)
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sht_rails-0.1.1 lib/sht_rails/handlebars.rb
sht_rails-0.1.0 lib/sht_rails/handlebars.rb