Class: Slimi::Filters::Splat
- Defined in:
- lib/slimi/filters/splat.rb
Defined Under Namespace
Classes: Builder
Instance Method Summary collapse
Methods inherited from Base
#on_slimi_control, #on_slimi_embedded, #on_slimi_output, #on_slimi_position, #on_slimi_text
Instance Method Details
#call(exp) ⇒ Array
10 11 12 13 14 15 16 17 18 |
# File 'lib/slimi/filters/splat.rb', line 10 def call(exp) @splat_options = nil exp = compile(exp) if @splat_options [:multi, [:code, "#{@splat_options} = #{.inspect}"], exp] else exp end end |
#on_html_attrs(*attrs) ⇒ Array
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/slimi/filters/splat.rb', line 22 def on_html_attrs(*attrs) return super unless attrs.any? { |attr| splat?(attr) } @splat_options ||= unique_name builder = unique_name result = [:multi] result << [:code, "#{builder} = ::#{Builder.name}.new(#{@splat_options})"] attrs.each do |attr| result << compile_attribute(builder, attr) end result << [:dynamic, "#{builder}.to_s"] end |