123456789_123456789_123456789_123456789_123456789_

Module: ActionView::Template::Handlers

Do not use. This module is for internal use only.

Class Attribute Summary

Class Method Summary

Instance Method Summary

Class Attribute Details

.default_template_handler (readonly)

[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 17

attr_reader :template_handlers, :default_template_handler

.template_handlers (readonly)

[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 17

attr_reader :template_handlers, :default_template_handler

Class Method Details

.extensions

[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 19

def extensions
  @template_extensions
end

.register(*extensions, handler)

[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 23

def register(*extensions, handler)
  handler = ActiveSupport::Ractors.try_shareable_proc(handler) if handler.is_a?(Proc)
  handlers = @template_handlers.dup
  extensions.each do |extension|
    handlers[extension.to_sym] = handler
  end
  @template_handlers = handlers.freeze
  @template_extensions = @template_handlers.keys.freeze
end

.register_default(extension, handler)

[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 33

def register_default(extension, handler)
  register(extension, handler)
  @default_template_handler = @template_handlers[extension.to_sym]
end

.unregister(*extensions)

[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 38

def unregister(*extensions)
  handlers = @template_handlers.dup
  extensions.each do |extension|
    handler = handlers.delete extension.to_sym
    @default_template_handler = nil if @default_template_handler == handler
  end
  @template_handlers = handlers.freeze
  @template_extensions = @template_handlers.keys.freeze
end

Instance Method Details

#handler_for_extension(extension)

[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 59

def handler_for_extension(extension)
  handler = Handlers.template_handlers[extension.to_sym] if extension
  handler || Handlers.default_template_handler
end

#register_template_handler(*extensions, handler)

Raises:

  • (ArgumentError)
[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 49

def register_template_handler(*extensions, handler)
  raise(ArgumentError, "Extension is required") if extensions.empty?
  Handlers.register(*extensions, handler)
end

#unregister_template_handler(*extensions)

Opposite to register_template_handler.

[ GitHub ]

  
# File 'actionview/lib/action_view/template/handlers.rb', line 55

def unregister_template_handler(*extensions)
  Handlers.unregister(*extensions)
end