Class: ActionView::FileSystemResolver
- Defined in:
- lib/action_view/template/resolver.rb
Overview
A resolver that loads files from the filesystem.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#path ⇒ Object
readonly
Returns the value of attribute path.
Instance Method Summary collapse
-
#all_template_paths ⇒ Object
:nodoc:.
-
#built_templates ⇒ Object
:nodoc:.
- #clear_cache ⇒ Object
- #eql?(resolver) ⇒ Boolean (also: #==)
-
#initialize(path) ⇒ FileSystemResolver
constructor
A new instance of FileSystemResolver.
- #to_s ⇒ Object (also: #to_path)
Methods inherited from Resolver
Constructor Details
#initialize(path) ⇒ FileSystemResolver
Returns a new instance of FileSystemResolver.
96 97 98 99 100 101 102 |
# File 'lib/action_view/template/resolver.rb', line 96 def initialize(path) raise ArgumentError, "path already is a Resolver class" if path.is_a?(Resolver) @unbound_templates = Concurrent::Map.new @path_parser = PathParser.new @path = File.(path) super() end |
Instance Attribute Details
#path ⇒ Object (readonly)
Returns the value of attribute path.
94 95 96 |
# File 'lib/action_view/template/resolver.rb', line 94 def path @path end |
Instance Method Details
#all_template_paths ⇒ Object
:nodoc:
120 121 122 123 124 125 126 127 |
# File 'lib/action_view/template/resolver.rb', line 120 def all_template_paths # :nodoc: paths = template_glob("**/*") paths.map do |filename| filename.from(@path.size + 1).remove(/\.[^\/]*\z/) end.uniq.map do |filename| TemplatePath.parse(filename) end end |
#built_templates ⇒ Object
:nodoc:
129 130 131 |
# File 'lib/action_view/template/resolver.rb', line 129 def built_templates # :nodoc: @unbound_templates.values.flatten.flat_map(&:built_templates) end |
#clear_cache ⇒ Object
104 105 106 107 108 |
# File 'lib/action_view/template/resolver.rb', line 104 def clear_cache @unbound_templates.clear @path_parser = PathParser.new super end |
#eql?(resolver) ⇒ Boolean Also known as: ==
115 116 117 |
# File 'lib/action_view/template/resolver.rb', line 115 def eql?(resolver) self.class.equal?(resolver.class) && to_path == resolver.to_path end |
#to_s ⇒ Object Also known as: to_path
110 111 112 |
# File 'lib/action_view/template/resolver.rb', line 110 def to_s @path.to_s end |