class JsRoutes::Engine
Public Class Methods
install_sprockets!()
click to toggle source
# File lib/js_routes/engine.rb, line 34 def self.install_sprockets! return if defined?(@installed_sprockets) require 'sprockets/version' v2 = Gem::Dependency.new('', ' ~> 2') vgte3 = Gem::Dependency.new('', ' >= 3') sprockets_version = Gem::Version.new(::Sprockets::VERSION).release initializer_args = case sprockets_version when -> (v) { v2.match?('', v) } { after: "sprockets.environment" } when -> (v) { vgte3.match?('', v) } { after: :engines_blank_point, before: :finisher_hook } else raise StandardError, "Sprockets version #{sprockets_version} is not supported" end initializer 'js-routes.dependent_on_routes', initializer_args do case sprockets_version when -> (v) { v2.match?('', v) }, -> (v) { vgte3.match?('', v) } Rails.application.config.assets.configure do |config| config.register_preprocessor( "application/javascript", SprocketsExtension, ) end else raise StandardError, "Sprockets version #{sprockets_version} is not supported" end end @installed_sprockets = true end