Class: Skim::Compiler
- Inherits:
-
Slim::Compiler
- Object
- Slim::Compiler
- Skim::Compiler
- Defined in:
- lib/skim/compiler.rb
Instance Method Summary collapse
Instance Method Details
#on_slim_attr(name, escape, code) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/skim/compiler.rb', line 9 def on_slim_attr(name, escape, code) value = case code when 'true' escape = false [:static, name] when 'false', 'null' escape = false [:multi] else tmp = unique_name [:multi, [:code, "#{tmp} = #{code}"], [:case, tmp, ['true', [:static, name]], ['false, null', [:multi]], [:else, [:dynamic, #if delimiter = options[:attr_delimiter][name] # "#{tmp}.respond_to?(:join) ? #{tmp}.flatten.compact.join(#{delimiter.inspect}) : #{tmp}" #else tmp #end ]]]] end [:html, :attr, name, [:escape, escape, value]] end |
#on_slim_control(code, content) ⇒ Object
3 4 5 6 7 |
# File 'lib/skim/compiler.rb', line 3 def on_slim_control(code, content) [:multi, [:code, code], [:indent, compile(content)]] end |