Method: HasLocalizationTable::ActiveRecord#has_localization_table

Defined in:
lib/has_localization_table/active_record.rb

#has_localization_table(*args) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/has_localization_table/active_record.rb', line 11

def has_localization_table(*args)
  options = args.extract_options!
  options[:association_name] = args.first || HasLocalizationTable.default_association_name
  options[:class_name] = options[:class_name].name if options[:class_name].respond_to?(:name)
  
  class_attribute :localization_table_options
  self.localization_table_options = { dependent: :delete_all, class_name: self.name + HasLocalizationTable.class_suffix }.merge(options)
  
  extend Relation, FinderMethods, OrderedBy, Callbacks, Validations, MetaMethods
  include Attributes
  
  setup_localization_callbacks!
  setup_localization_validations!
end