Class: Metamorpher::Builders::Ruby::UppercaseRewriter
- Inherits:
-
Object
- Object
- Metamorpher::Builders::Ruby::UppercaseRewriter
show all
- Includes:
- AST, Rewriter
- Defined in:
- lib/metamorpher/builders/ruby/uppercase_rewriter.rb
Instance Method Summary
collapse
Methods included from AST
#builder
Methods included from Rewriter
#rule
Instance Method Details
#pattern ⇒ Object
10
11
12
|
# File 'lib/metamorpher/builders/ruby/uppercase_rewriter.rb', line 10
def pattern
builder.VARIABLE_TO_BE { |v| v.name && v.name.to_s[/^[A-Z_]*$/] }
end
|
#replacement ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/metamorpher/builders/ruby/uppercase_rewriter.rb', line 14
def replacement
builder.derivation!(:variable_to_be) do |variable_to_be, builder|
name = variable_to_be.name.to_s
if name.end_with?("_")
builder.greedy_variable! name.chomp("_").downcase.to_sym
else
builder.variable! name.downcase.to_sym
end
end
end
|