class TranslateLogic
Class for managing cure tr (translate).
Attributes
in[W]
Public Class Methods
new()
click to toggle source
Calls superclass method
BaseLogic::new
# File lib/cureutils/logic/translate_logic.rb, line 9 def initialize super @translate_from = :human_name @translate_to = :precure_name end
Public Instance Methods
pregex2str(str)
click to toggle source
# File lib/cureutils/logic/translate_logic.rb, line 26 def pregex2str(str) str.gsub(/\[:(.*):\]/, '\1') end
print_results()
click to toggle source
# File lib/cureutils/logic/translate_logic.rb, line 30 def print_results # Create precure regular expression regex_tag = str2pregex(@translate_from.to_s) # Get patterns cure_pattern = Common.pregex2regex(regex_tag, true) # Get Key-Value table = Common.cure_table(@translate_from, @translate_to) @in.each do |line| updated_line = line.dup line.scan(/#{cure_pattern}/).each do |pat| updated_line.gsub!(/#{pat[0]}/, table[pat[0]]) end @out.puts updated_line end 0 end
str2pregex(str)
click to toggle source
# File lib/cureutils/logic/translate_logic.rb, line 22 def str2pregex(str) '[:' + str + ':]' end
translate_from_to(from, to)
click to toggle source
# File lib/cureutils/logic/translate_logic.rb, line 17 def translate_from_to(from, to) @translate_from = pregex2str(from).to_sym @translate_to = pregex2str(to).to_sym end