module Hanami::View::Tilt

@api private @since 2.1.0

Constants

Mapping

@api private @since 2.1.0

Public Class Methods

[](path, mapping, options) click to toggle source

@api private @since 2.1.0

# File lib/hanami/view/tilt.rb, line 33
def [](path, mapping, options)
  with_mapping(mapping).new(path, options)
end

Private Class Methods

build_mapping(mapping) click to toggle source
# File lib/hanami/view/tilt.rb, line 49
def build_mapping(mapping)
  Mapping.dup.tap do |new_mapping|
    mapping.each do |extension, template_class|
      new_mapping.register template_class, extension
    end
  end
end
with_mapping(mapping) click to toggle source
# File lib/hanami/view/tilt.rb, line 39
def with_mapping(mapping)
  View.cache.fetch_or_store(:tilt_mapping, mapping) {
    if mapping.any?
      build_mapping(mapping)
    else
      Mapping
    end
  }
end