f8f9a085cc
When dealing with the "details" for a template: locale, format, variant, and handler, previously we would store these in an ad-hoc way every place we did. Often as a hash or as separate instance variables on a class. This PR attempts to simplify this by encapsulating known details on a template in a new ActionView::TemplateDetails class, and requested details in ActionView::TemplateDetails::Requested. This allowed extracting and simplifying filtering and sorting logic from the Resolver class as well as extracting default format logic from UnboundTemplate. As well as reducing complexity, in the future this should make it possible to provide suggestions on missing template errors due to mismatched details, and might allow improved performance. At least for now these new classes are private (:nodoc) Co-authored-by: John Crepezzi <john.crepezzi@gmail.com> |
||
---|---|---|
.. | ||
app/assets/javascripts | ||
bin | ||
lib | ||
test | ||
.gitignore | ||
actionview.gemspec | ||
blade.yml | ||
CHANGELOG.md | ||
coffeelint.json | ||
MIT-LICENSE | ||
package.json | ||
Rakefile | ||
README.rdoc | ||
RUNNING_UJS_TESTS.rdoc | ||
RUNNING_UNIT_TESTS.rdoc |
= Action View Action View is a framework for handling view template lookup and rendering, and provides view helpers that assist when building HTML forms, Atom feeds and more. Template formats that Action View handles are ERB (embedded Ruby, typically used to inline short Ruby snippets inside HTML), and XML Builder. You can read more about Action View in the {Action View Overview}[https://edgeguides.rubyonrails.org/action_view_overview.html] guide. == Download and installation The latest version of Action View can be installed with RubyGems: $ gem install actionview Source code can be downloaded as part of the Rails project on GitHub: * https://github.com/rails/rails/tree/main/actionview == License Action View is released under the MIT license: * https://opensource.org/licenses/MIT == Support API documentation is at * https://api.rubyonrails.org Bug reports for the Ruby on Rails project can be filed here: * https://github.com/rails/rails/issues Feature requests should be discussed on the rails-core mailing list here: * https://discuss.rubyonrails.org/c/rubyonrails-core