Sha256: 19a071ab0c1085ac2c5b1092404dbca82046a6b06306a7c98616dd9a9c6c84e5

Contents?: true

Size: 1.6 KB

Versions: 1

Compression:

Stored size: 1.6 KB

Contents

# encoding: utf-8
# frozen_string_literal: true

require 'rails/railtie'

module Jade
  class Railtie < Rails::Railtie
    config.jade               = Jade.config
    config.jade.pretty        = Rails.env.development?
    config.jade.compile_debug = Rails.env.development?

    initializer 'sprockets.jade.transformer', after: 'sprockets.environment', group: :all do |app|
      access_assets_environment app do |env|
        # Sprockets 2, 3, and 4
        if env.respond_to?(:register_transformer)
          env.register_mime_type 'text/x-jade', extensions: ['.jade']
          env.register_transformer 'text/x-jade', 'application/javascript+function', Jade::Sprockets::Transformer
        end

        if env.respond_to?(:register_engine)
          args = ['.jade', Jade::Sprockets::Transformer]
          args << { mime_type: 'text/x-jade', silence_deprecation: true } if ::Sprockets::VERSION.start_with?('3')
          env.register_engine(*args)
        end
      end
    end

    initializer 'sprockets.jade.runtime', after: :append_assets_path, group: :all do |app|
      access_assets_config app do |assets|
        assets.precompile += %w( jade/runtime.js )
        assets.paths      += [File.expand_path('../../../vendor/assets/javascripts', __FILE__)]
      end
    end

  private
    def access_assets_config(app)
      yield app.config.assets
    end

    def access_assets_environment(app)
      if config.respond_to?(:assets) && config.assets.respond_to?(:configure)
        # Rails 4.x 5.x
        config.assets.configure { |env| yield env }
      else
        # Rails 3.2
        yield app.assets
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pug-rails-2.0.3 lib/jade-rails/railtie.rb