edge badge

Helpers related to template lookup using the lookup context information.

Methods
D
E
F
T
V
W
Attributes
[R] html_fallback_for_js
[R] view_paths
Instance Public methods
exists?(name, prefixes = [], partial = false, keys = [], options = {})
Also aliased as: template_exists?
# File actionview/lib/action_view/lookup_context.rb, line 129
def exists?(name, prefixes = [], partial = false, keys = [], options = {})
  @view_paths.exists?(*args_for_lookup(name, prefixes, partial, keys, options))
end
find(name, prefixes = [], partial = false, keys = [], options = {})
Also aliased as: find_template
# File actionview/lib/action_view/lookup_context.rb, line 120
def find(name, prefixes = [], partial = false, keys = [], options = {})
  @view_paths.find(*args_for_lookup(name, prefixes, partial, keys, options))
end
find_all(name, prefixes = [], partial = false, keys = [], options = {})
# File actionview/lib/action_view/lookup_context.rb, line 125
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)

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

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

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

# File actionview/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
Instance Protected methods
detail_args_for(options)

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

# File actionview/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)

  if @cache
    details_key = DetailsKey.get(user_details)
  else
    details_key = nil
  end

  [user_details, details_key]
end