Module: HasLocalizationTable::ActiveRecord

Defined in:
lib/has_localization_table/active_record.rb,
lib/has_localization_table/active_record/relation.rb,
lib/has_localization_table/active_record/callbacks.rb,
lib/has_localization_table/active_record/attributes.rb,
lib/has_localization_table/active_record/ordered_by.rb,
lib/has_localization_table/active_record/validations.rb,
lib/has_localization_table/active_record/meta_methods.rb,
lib/has_localization_table/active_record/finder_methods.rb,
lib/has_localization_table/active_record/attributes/cache.rb

Defined Under Namespace

Modules: Attributes, Callbacks, FinderMethods, MetaMethods, OrderedBy, Relation, Validations

Instance Method Summary collapse

Instance Method Details

#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