Class: RedminePluginsHelper::PluginsAutoloadAssets

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/redmine_plugins_helper/plugins_autoload_assets.rb

Overview

Compiles "plugins_autoload.css"/".js", bundling every registered Redmine plugin's main stylesheet/javascript asset, and writes the result as static files that Propshaft serves.

Constant Summary collapse

CSS_OUTPUT_SUBPATH =
'plugins_autoload.css'
JS_OUTPUT_SUBPATH =
'plugins_autoload.js'
OUTPUT_DIRECTORY_SUBPATH =
'tmp/plugins_autoload_assets'

Instance Method Summary collapse

Instance Method Details

#generatevoid

This method returns an undefined value.



24
25
26
27
28
# File 'lib/redmine_plugins_helper/plugins_autoload_assets.rb', line 24

def generate
  Rails.application.config.sass = ActiveSupport::OrderedOptions.new
  output_directory.join(CSS_OUTPUT_SUBPATH).write(environment[CSS_OUTPUT_SUBPATH].to_s)
  output_directory.join(JS_OUTPUT_SUBPATH).write(environment[JS_OUTPUT_SUBPATH].to_s)
end

#output_directoryPathname

Returns:

  • (Pathname)


31
32
33
34
35
36
37
# File 'lib/redmine_plugins_helper/plugins_autoload_assets.rb', line 31

memoize def output_directory
  Rails.root.join(OUTPUT_DIRECTORY_SUBPATH).tap do |v|
    v.mkpath
    paths = ::Rails.application.config.assets.paths
    paths << v.to_s unless paths.include?(v.to_s)
  end
end