class ArelConverter::Translator::Base

Constants

LINE_LENGTH

Public Class Methods

parse(code) click to toggle source
# File lib/arel_converter/translators/base.rb, line 14
def self.parse(code)
  RubyParser.new.process(code)
end
translate(klass_or_str, method = nil) click to toggle source
# File lib/arel_converter/translators/base.rb, line 7
def self.translate(klass_or_str, method = nil)
  sexp = klass_or_str.is_a?(String) ? self.parse(klass_or_str) : klass_or_str
  processor = self.new
  source = processor.process(sexp)
  processor.post_processing(source)
end

Public Instance Methods

format_for_hash(key, value) click to toggle source
# File lib/arel_converter/translators/base.rb, line 26
def format_for_hash(key, value)
  key =~ /\A:/ ? "#{key.sub(':','')}: #{value}" : "#{key} => #{value}"
end
logger() click to toggle source
# File lib/arel_converter/translators/base.rb, line 18
def logger
  @logger ||= setup_logger
end
post_processing(source) click to toggle source
# File lib/arel_converter/translators/base.rb, line 22
def post_processing(source)
  source
end

Private Instance Methods

setup_logger(log_level = :info) click to toggle source
# File lib/arel_converter/translators/base.rb, line 32
def setup_logger(log_level = :info)
  logging = Logging::Logger[self]
  layout = Logging::Layouts::Pattern.new(:pattern => "[%d, %c, %5l] %m\n")

  stdout = Logging::Appenders.stdout
  stdout.level = log_level

  #file = Logging::Appenders::File.new("./log/converters.log")
  #file.layout = layout
  #file.level = :debug

  logging.add_appenders(stdout)
  logging
end