Module: Translatable::ActsAsTranslatable::ClassMethods

Defined in:
lib/translatable/acts_as_translatable.rb

Instance Method Summary collapse

Instance Method Details

#translatable(column) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/translatable/acts_as_translatable.rb', line 8

def translatable(column)
  key_name = column.to_s.pluralize.to_sym
  has_many key_name, -> { where(key: column.to_s) }, :as => :translatable, class_name: 'Translatable::TranslatedWord',
  :inverse_of => :translatable, :dependent => :destroy
  accepts_nested_attributes_for key_name
  define_method column do |locale = I18n.default_locale|
    localizes = send(key_name)
    localizes.detect{|w| w.locale.to_s == locale.to_s }.try(:value) || localizes.first.try(:value)
  end
end