Class: CaseProcessor

Inherits:
Object
  • Object
show all
Includes:
Thymeleaf::Processor
Defined in:
lib/thymeleaf/dialects/default/processors/case.rb

Instance Method Summary collapse

Methods included from Thymeleaf::Processor

#evaluate_in_context, #load_template, #subprocess_node

Instance Method Details

#call(node: nil, attribute: nil, context: nil, **_) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/thymeleaf/dialects/default/processors/case.rb', line 5

def call(node:nil, attribute:nil, context:nil, **_)
  attribute.unlink
  
  var_cmp = EvalExpression.parse(context, attribute.value)

  unless case_equals? context, var_cmp
    node.children.each { |child| child.unlink }
    node.unlink
  end
  
end

#case_equals?(context, var_comparation) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
# File 'lib/thymeleaf/dialects/default/processors/case.rb', line 17

def case_equals?(context, var_comparation)
  (context.has_private DefaultDialect::CONTEXT_SWITCH_VAR) &&
      (context.get_private DefaultDialect::CONTEXT_SWITCH_VAR).eql?(var_comparation)
end