Sha256: f63251204512c2bc450f63e0668716a85cdb91104a2b358eae1eb2c379b0af86

Contents?: true

Size: 653 Bytes

Versions: 8

Compression:

Stored size: 653 Bytes

Contents

module Puffer
  class PathSet < ::ActionView::PathSet

    class_attribute :_fallbacks
    self._fallbacks = []

    def find(path, prefix = nil, partial = false, details = {}, key = nil)
      prefixes = [prefix].concat _fallbacks
      paths = prefixes.map {|prefix| "#{prefix}/#{path}"}.join(', ')

      begin
        template = begin
          super(path, prefixes.shift.to_s, partial, details, key)
        rescue ::ActionView::MissingTemplate => e
          nil
        end
      end until prefixes.empty? || template

      raise ::ActionView::MissingTemplate.new(self, paths, details, partial) unless template
      template
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
puffer-0.0.19 lib/puffer/path_set.rb
puffer-0.0.18 lib/puffer/path_set.rb
puffer-0.0.17 lib/puffer/path_set.rb
puffer-0.0.16 lib/puffer/path_set.rb
puffer-0.0.15 lib/puffer/path_set.rb
puffer-0.0.14 lib/puffer/path_set.rb
puffer-0.0.13 lib/puffer/path_set.rb
puffer-0.0.12 lib/puffer/path_set.rb