Module: MultilingualAttributes::ClassMethods

Defined in:
lib/has_multilingual_attributes/multilingual_attributes.rb

Instance Method Summary collapse

Instance Method Details

#has_multilingual_attributes(*names) ⇒ Object

defines virtual attribute getters for the given attribute names



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/has_multilingual_attributes/multilingual_attributes.rb', line 6

def has_multilingual_attributes(*names)
  names.each do |name|
    ['fr', 'en'].each do |locale|
      define_singleton_method "find_by_#{name.to_s}" do |name_param|
        send("find_by_#{name}_#{locale}".to_sym, name_param)
      end
    end

    define_method "#{name}" do
      send(name.to_s+"_#{I18n.locale.to_s}")
    end
  end
end