Sha256: 383f2babae9fc92e51414ed81f88e1d089ea8f4d8056cb3455c4f31287a1707d

Contents?: true

Size: 1004 Bytes

Versions: 1

Compression:

Stored size: 1004 Bytes

Contents

# frozen_string_literal: true

module Ruby2html
  class TemplateHandler
    class_attribute :default_format
    self.default_format = :html

    def self.call(template, source)
      new.call(template, source)
    end

    def call(template, source)
      <<-RUBY
begin
previous_renderer = Thread.current[:__ruby2html_renderer__]
renderer = Ruby2html::Render.new(self) do
#{source}
end
Thread.current[:__ruby2html_renderer__] = renderer
renderer.__render_from_rails(#{template.identifier.inspect})
ensure
Thread.current[:__ruby2html_renderer__] = previous_renderer
end
      RUBY
    end

    def self.handles_encoding?
      true
    end
  end

  class Railtie < Rails::Railtie
    initializer 'ruby2html.initializer' do
      Rails.autoloaders.main.ignore(
        Rails.root.join('app/views/**/*.html.rb'),
        Rails.root.join('app/components/**/*.html.rb')
      )
    end
  end
end

ActionView::Template.register_template_handler :rb, Ruby2html::TemplateHandler if defined? ActionView::Template

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby2html-1.5.5 lib/gem/ruby2html/railtie.rb