Module: Globalize::ActiveRecord

Defined in:
lib/globalize/active_record.rb,
lib/globalize/active_record/adapter.rb,
lib/globalize/active_record/migration.rb,
lib/globalize/active_record/attributes.rb

Defined Under Namespace

Modules: ActMacro, ClassMethods, HasManyExtensions, InstanceMethods, Migration Classes: Adapter, Attributes

Class Method Summary (collapse)

Class Method Details

+ (Object) build_translation_class(target, options)



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/globalize/active_record.rb', line 16

def build_translation_class(target, options)
  options[:table_name] ||= "#{target.table_name.singularize}_translations"

  klass = target.const_defined?(:Translation) ?
    target.const_get(:Translation) :
    target.const_set(:Translation, Class.new(::ActiveRecord::Base))

  klass.class_eval do
    set_table_name(options[:table_name])
    belongs_to target.name.underscore.gsub('/', '_')
    def locale; read_attribute(:locale).to_sym; end
    def locale=(locale); write_attribute(:locale, locale.to_s); end
  end

  klass
end

+ (Object) included(base)



11
12
13
# File 'lib/globalize/active_record.rb', line 11

def self.included(base)
  base.extend ActMacro
end