Class: FoodCritic::Template::ExpressionExtractor

Inherits:
Object
  • Object
show all
Includes:
Erubis::Basic::Converter
Defined in:
lib/foodcritic/template.rb

Overview

Extract expressions <%= expr %> from Erb templates.

Instance Method Summary collapse

Constructor Details

#initializeExpressionExtractor

Returns a new instance of ExpressionExtractor.



7
8
9
# File 'lib/foodcritic/template.rb', line 7

def initialize
  init_converter({})
end

Instance Method Details

#add_expr(src, code, indicator) ⇒ Object



17
18
19
20
21
# File 'lib/foodcritic/template.rb', line 17

def add_expr(src, code, indicator)
  if indicator == "="
    @expressions << { type: :expression, code: code.strip }
  end
end

#add_postamble(codebuf) ⇒ Object



27
# File 'lib/foodcritic/template.rb', line 27

def add_postamble(codebuf); end

#add_preamble(codebuf) ⇒ Object



25
# File 'lib/foodcritic/template.rb', line 25

def add_preamble(codebuf); end

#add_stmt(src, code) ⇒ Object



29
30
31
# File 'lib/foodcritic/template.rb', line 29

def add_stmt(src, code)
  @expressions << { type: :statement, code: code.strip }
end

#add_text(src, text) ⇒ Object



23
# File 'lib/foodcritic/template.rb', line 23

def add_text(src, text); end

#extract(template_code) ⇒ Object



11
12
13
14
15
# File 'lib/foodcritic/template.rb', line 11

def extract(template_code)
  @expressions = []
  convert(template_code)
  expressions(template_code)
end