class AssetPipeline::Stimulus::StimulusRenderer

Overview

The StimulusRenderer extends ScriptRenderer to provide Stimulus-specific functionality. It automatically detects Stimulus controller imports, generates proper controller registration, and handles Stimulus application initialization.

This renderer can parse custom JavaScript blocks to:

Performance optimizations:

Defined in:

asset_pipeline/stimulus/stimulus_renderer.cr

Constructors

Instance Method Summary

Instance methods inherited from class AssetPipeline::ScriptRenderer

analyze_code_complexity analyze_code_complexity, analyze_dependencies_with_suggestions : Hash(Symbol, Array(String)) analyze_dependencies_with_suggestions, cache_efficiency : Hash(String, Float64) cache_efficiency, cache_stats : Hash(String, Int32) cache_stats, clear_caches clear_caches, dependency_analyzer : DependencyAnalyzer | Nil dependency_analyzer, generate_development_report : String generate_development_report, generate_import_statements : String generate_import_statements, generate_script_content : String generate_script_content, get_import_suggestions : Array(String) get_import_suggestions, render_initialization_script : String render_initialization_script, uses_module_syntax? : Bool uses_module_syntax?, validate_configuration : Hash(String, Array(String)) validate_configuration

Constructor methods inherited from class AssetPipeline::ScriptRenderer

new(import_map : ImportMap, custom_javascript_block : String = "", enable_dependency_analysis : Bool = true) new

Constructor Detail

def self.new(import_map : ImportMap, custom_javascript_block : String = "", stimulus_application_name : String = "application") #

Initialize the StimulusRenderer with an import map, custom JavaScript block, and application name

renderer = StimulusRenderer.new(import_map, "Stimulus.register('hello', HelloController);", "application")

[View source]

Instance Method Detail

def cache_efficiency : Hash(String, Float64) #

Returns the current cache hit ratio for performance monitoring


[View source]
def cache_stats : Hash(String, Int32) #

Performance monitoring methods Returns cache statistics for monitoring performance


[View source]
def clear_caches #

Clears all performance caches (useful for testing or memory management)


[View source]
def generate_stimulus_script_content : String #

Generates the complete Stimulus script content without wrapping tags


[View source]
def render_stimulus_initialization_script : String #

Renders a complete Stimulus initialization script

Returns a script tag containing:

  • Stimulus core imports
  • Controller imports (automatically detected)
  • Stimulus application initialization
  • Controller registrations
  • Custom JavaScript initialization block

[View source]