Module: CodeMiner::ConditionProcessor

Included in:
Parser
Defined in:
lib/codeminer/processors/condition_processor.rb

Instance Method Summary collapse

Instance Method Details

#on_case(test, whens) ⇒ Object



38
39
40
# File 'lib/codeminer/processors/condition_processor.rb', line 38

def on_case(test, whens)
  CaseExpression.new(test, extract_whens(whens), extract_src_by_token(pop_keyword('case')))
end

#on_else(body) ⇒ Object



20
21
22
# File 'lib/codeminer/processors/condition_processor.rb', line 20

def on_else(body)
  ElseExpression.new(body, extract_src_by_tokens(pop_keyword('else'), body))
end

#on_elsif(test, consequence, else_statement) ⇒ Object



10
11
12
13
# File 'lib/codeminer/processors/condition_processor.rb', line 10

def on_elsif(test, consequence, else_statement)
  token = pop_keyword('elsif')
  ConditionExpression.new(test, consequence, else_statement, token, extract_src_by_token(token))
end

#on_if(test, consequence, else_statement) ⇒ Object



5
6
7
8
# File 'lib/codeminer/processors/condition_processor.rb', line 5

def on_if(test, consequence, else_statement)
  token = pop_keyword('if')
  ConditionExpression.new(test, consequence, else_statement, token, extract_src_by_token(token))
end

#on_if_mod(test, consequence) ⇒ Object



24
25
26
27
# File 'lib/codeminer/processors/condition_processor.rb', line 24

def on_if_mod(test, consequence)
  consequence_body = BodyExpression.from(consequence)
  ConditionExpression.new(test, consequence_body, nil, pop_keyword('if'), extract_src_by_tokens(consequence, test))
end

#on_ifop(test, consequence, else_statement) ⇒ Object



34
35
36
# File 'lib/codeminer/processors/condition_processor.rb', line 34

def on_ifop(test, consequence, else_statement)
  ConditionExpression.new(test, BodyExpression.from(consequence), BodyExpression.from(else_statement), nil, extract_src_by_tokens(test, else_statement))
end

#on_unless(test, consequence, else_statement) ⇒ Object



15
16
17
18
# File 'lib/codeminer/processors/condition_processor.rb', line 15

def on_unless(test, consequence, else_statement)
  token = pop_keyword('unless')
  ConditionExpression.new(test, else_statement, consequence, token, extract_src_by_token(token))
end

#on_unless_mod(test, else_expression) ⇒ Object



29
30
31
32
# File 'lib/codeminer/processors/condition_processor.rb', line 29

def on_unless_mod(test, else_expression)
  else_body = BodyExpression.from(else_expression)
  ConditionExpression.new(test, nil, else_body, pop_keyword('unless'), extract_src_by_tokens(else_expression, test))
end

#on_when(arg, body, else_exp) ⇒ Object



42
43
44
# File 'lib/codeminer/processors/condition_processor.rb', line 42

def on_when(arg, body, else_exp)
  WhenExpression.new(arg, body, else_exp, extract_src_by_tokens(pop_keyword('when'), body))
end