Class: Ruty::Tags::Filter
- Inherits:
-
Ruty::Tag
- Object
- Datastructure::Node
- Ruty::Tag
- Ruty::Tags::Filter
- Defined in:
- lib/ruty/tags/filter.rb
Overview
Ruty Filter Tag
- Author
-
Armin Ronacher
Copyright © 2006 by Armin Ronacher
You can redistribute it and/or modify it under the terms of the BSD license.
Instance Method Summary collapse
-
#initialize(parser, argstring) ⇒ Filter
constructor
A new instance of Filter.
- #render_node(context, stream) ⇒ Object
Constructor Details
#initialize(parser, argstring) ⇒ Filter
Returns a new instance of Filter.
11 12 13 14 15 |
# File 'lib/ruty/tags/filter.rb', line 11 def initialize parser, argstring @filters = parser.parse_arguments('|' + argstring) parser.fail('filter tag requires at least on filter') if @filters.empty? @nodelist = parser.parse_until { |n, a| n == :endfilter } end |
Instance Method Details
#render_node(context, stream) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/ruty/tags/filter.rb', line 17 def render_node context, stream substream = Ruty::Datastructure::OutputStream.new @nodelist.render_node(context, substream) value = context.apply_filters(substream.to_s, @filters).to_s stream << value if not value.empty? nil end |