Class: Lolita::Translation::Builder::ActiveRecordBuilder

Inherits:
AbstractBuilder show all
Defined in:
lib/lolita-translation/builder/active_record_builder.rb

Instance Attribute Summary

Attributes inherited from AbstractBuilder

#base_klass, #configuration, #klass

Instance Method Summary collapse

Methods inherited from AbstractBuilder

#association_key, #association_name, #class_name, #locale_field_name, #table_name, #translations_association_name

Constructor Details

#initialize(base_klass, configuration = nil) ⇒ ActiveRecordBuilder

Returns a new instance of ActiveRecordBuilder.



9
10
11
# File 'lib/lolita-translation/builder/active_record_builder.rb', line 9

def initialize base_klass, configuration = nil
  super(base_klass,configuration, ActiveRecord::Base)
end

Instance Method Details

#buildObject



13
14
15
16
17
18
# File 'lib/lolita-translation/builder/active_record_builder.rb', line 13

def build
  add_ar_klass_associations
  add_ar_klass_validations
  call_base_klass_class_methods
  add_validations_to_base_klass
end

#override_klass_attributes(attributes) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/lolita-translation/builder/active_record_builder.rb', line 20

def override_klass_attributes(attributes)
  add_ar_klass_attr_accessible(attributes + default_attributes)
  add_ar_klass_table_name(self.table_name)
  expanded_attributes = attributes.inject({}){|hsh,attribute|
    hsh[attribute] = attribute
    hsh
  }
  super(expanded_attributes)
end