Module: Translatable::ActiveRecord::Relation

Defined in:
lib/translatable/active_record/relation.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

Ugly hack to override ActiveRecord::Relation#exec_queries method After ruby >= 2.0.0 it’s possible to simply prepend ruby-doc.org/core-2.0/Module.html#method-i-prepend



7
8
9
10
11
# File 'lib/translatable/active_record/relation.rb', line 7

def self.included(base)
  base.class_eval do
    alias_method_chain :exec_queries, :translations
  end
end

Instance Method Details

#exec_queries_with_translationsObject



18
19
20
21
22
23
24
# File 'lib/translatable/active_record/relation.rb', line 18

def exec_queries_with_translations
  if @translate_records
    exec_queries_without_translations.map(&:translate)
  else
    exec_queries_without_translations
  end
end

#translateObject



13
14
15
16
# File 'lib/translatable/active_record/relation.rb', line 13

def translate
  @translate_records = true
  self.eager_load(:translations)
end