Class: ActionviewPrecompiler::TemplateParser
- Inherits:
-
Object
- Object
- ActionviewPrecompiler::TemplateParser
- Includes:
- ASTParser
- Defined in:
- lib/actionview_precompiler/template_parser.rb
Defined Under Namespace
Classes: FakeTemplate
Instance Attribute Summary collapse
-
#basename ⇒ Object
readonly
Returns the value of attribute basename.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#handler ⇒ Object
readonly
Returns the value of attribute handler.
Instance Method Summary collapse
- #compiled_source ⇒ Object
-
#initialize(filename) ⇒ TemplateParser
constructor
A new instance of TemplateParser.
- #parsed ⇒ Object
- #partial? ⇒ Boolean
- #render_calls ⇒ Object
Methods included from ASTParser
Constructor Details
#initialize(filename) ⇒ TemplateParser
Returns a new instance of TemplateParser.
19 20 21 22 23 24 25 |
# File 'lib/actionview_precompiler/template_parser.rb', line 19 def initialize(filename) @filename = filename @basename = File.basename(filename) handler_ext = @basename.split(".").last @handler = ActionView::Template.handler_for_extension(handler_ext) @is_partial = !!@basename.start_with?("_") end |
Instance Attribute Details
#basename ⇒ Object (readonly)
Returns the value of attribute basename.
7 8 9 |
# File 'lib/actionview_precompiler/template_parser.rb', line 7 def basename @basename end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
7 8 9 |
# File 'lib/actionview_precompiler/template_parser.rb', line 7 def filename @filename end |
#handler ⇒ Object (readonly)
Returns the value of attribute handler.
7 8 9 |
# File 'lib/actionview_precompiler/template_parser.rb', line 7 def handler @handler end |
Instance Method Details
#compiled_source ⇒ Object
39 40 41 |
# File 'lib/actionview_precompiler/template_parser.rb', line 39 def compiled_source @handler.call(FakeTemplate.new, File.read(@filename)) end |
#parsed ⇒ Object
35 36 37 |
# File 'lib/actionview_precompiler/template_parser.rb', line 35 def parsed @parsed ||= parse(compiled_source) end |
#partial? ⇒ Boolean
27 28 29 |
# File 'lib/actionview_precompiler/template_parser.rb', line 27 def partial? @is_partial end |
#render_calls ⇒ Object
31 32 33 |
# File 'lib/actionview_precompiler/template_parser.rb', line 31 def render_calls RenderParser.new(parsed).render_calls end |