Sha256: 091cf3268ba72152ea4a0187898cf1bc71adc3f34df35205c7eb03bcb2e7a4eb

Contents?: true

Size: 984 Bytes

Versions: 1

Compression:

Stored size: 984 Bytes

Contents

require "rbexy/rails"

module Rbexy
  module Rails
    class Engine < ::Rails::Engine
      initializer "rbexy" do |app|
        template_handler = ::Rails.version.to_f >= 6.0 ?
          proc { |template, source| Rbexy.compile(source) } :
          proc { |template| Rbexy.compile(template.source) }

        ActionView::Template.register_template_handler(:rbx, template_handler)

        ActiveSupport.on_load :action_controller_base do
          helper Rbexy::ViewContextHelper
          helper_method :rbexy_component_provider
          include ControllerHelper
        end

        if defined?(ViewComponent)
          ViewComponent::Base.include Rbexy::ViewContextHelper
        end

        Rbexy.configure do |config|
          require "rbexy/component_providers/rbexy_provider"
          config.component_provider = Rbexy::ComponentProviders::RbexyProvider.new
          config.template_paths << ::Rails.root.join("app", "components")
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rbexy-0.2.3 lib/rbexy/rails/engine.rb