Class: ArelConverter::Translator::Base

Inherits:
Ruby2Ruby
  • Object
show all
Defined in:
lib/arel_converter/translators/base.rb

Direct Known Subclasses

Association, Finder, Options, Scope

Constant Summary collapse

LINE_LENGTH =
1_000

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.parse(code) ⇒ Object



14
15
16
# File 'lib/arel_converter/translators/base.rb', line 14

def self.parse(code)
  RubyParser.new.process(code)
end

.translate(klass_or_str, method = nil) ⇒ Object



7
8
9
10
11
12
# 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

Instance Method Details

#format_for_hash(key, value) ⇒ Object



26
27
28
# File 'lib/arel_converter/translators/base.rb', line 26

def format_for_hash(key, value)
  key =~ /\A:/ ? "#{key.sub(':','')}: #{value}" : "#{key} => #{value}"
end

#loggerObject



18
19
20
# File 'lib/arel_converter/translators/base.rb', line 18

def logger
  @logger ||= setup_logger
end

#post_processing(source) ⇒ Object



22
23
24
# File 'lib/arel_converter/translators/base.rb', line 22

def post_processing(source)
  source
end