Module: Trophonius::Translator

Included in:
Record
Defined in:
lib/translator.rb

Instance Method Summary collapse

Instance Method Details

#methodize_field(field_name) ⇒ Object



7
8
9
10
11
# File 'lib/translator.rb', line 7

def methodize_field(field_name)
  method_name = ActiveSupport::Inflector.parameterize(ActiveSupport::Inflector.underscore(field_name), separator: '_').downcase

  method_name == 'object_id' ? method_name.gsub('_', '') : method_name
end

#methodize_portal_field(field_name) ⇒ Object



13
14
15
# File 'lib/translator.rb', line 13

def methodize_portal_field(field_name)
  ActiveSupport::Inflector.parameterize(ActiveSupport::Inflector.underscore(field_name.gsub(/\w+::/, '').to_s), separator: '_')
end

#portal_relation_name(first_related_record) ⇒ Object



17
18
19
20
21
# File 'lib/translator.rb', line 17

def portal_relation_name(first_related_record)
  return '' if first_related_record.nil?

  first_related_record.keys.map{ |f| f[/.*(?=::)/] }.tally.max_by(&:last).first
end