module ActionView::LookupContext::ViewPaths - actionpack-3.2.22 Documentation

# module ActionView::LookupContext::ViewPaths

Helpers related to template lookup using the lookup context information.

### Attributes

view_paths[R]

### Public Instance Methods

exists?(name, prefixes = [], partial = false, keys = [], options = {}) click to toggle source

    # File lib/action_view/lookup_context.rb, line 130
    def exists?(name, prefixes = [], partial = false, keys = [], options = {})
      @view_paths.exists?(*args_for_lookup(name, prefixes, partial, keys, options))
    end

Also aliased as: template_exists?
find(name, prefixes = [], partial = false, keys = [], options = {}) click to toggle source

    # File lib/action_view/lookup_context.rb, line 121
    def find(name, prefixes = [], partial = false, keys = [], options = {})
      @view_paths.find(*args_for_lookup(name, prefixes, partial, keys, options))
    end

Also aliased as: find_template
find_all(name, prefixes = [], partial = false, keys = [], options = {}) click to toggle source

    # File lib/action_view/lookup_context.rb, line 126
    def find_all(name, prefixes = [], partial = false, keys = [], options = {})
      @view_paths.find_all(*args_for_lookup(name, prefixes, partial, keys, options))
    end

find_template(name, prefixes = [], partial = false, keys = [], options = {})
Alias for: find
template_exists?(name, prefixes = [], partial = false, keys = [], options = {})
Alias for: exists?
view_paths=(paths) click to toggle source

Whenever setting view paths, makes a copy so we can manipulate then in instance objects as we wish.

    # File lib/action_view/lookup_context.rb, line 117
    def view_paths=(paths)
      @view_paths = ActionView::PathSet.new(Array.wrap(paths))
    end

with_fallbacks() { || ... } click to toggle source

Add fallbacks to the view paths. Useful in cases you are rendering a :file.

    # File lib/action_view/lookup_context.rb, line 136
    def with_fallbacks
      added_resolvers = 0
      self.class.fallbacks.each do |resolver|
        next if view_paths.include?(resolver)
        view_paths.push(resolver)
        added_resolvers += 1
      end
      yield
    ensure
      added_resolvers.times { view_paths.pop }
    end

### Protected Instance Methods

detail_args_for(options) click to toggle source

Compute details hash and key according to user options (e.g. passed from render).

    # File lib/action_view/lookup_context.rb, line 157
    def detail_args_for(options)
      return @details, details_key if options.empty? # most common path.
      user_details = @details.merge(options)
      [user_details, DetailsKey.get(user_details)]
    end