module Qbrick::Translatable::ClassMethods
Public Instance Methods
attr_name_for_locale(attr_name, locale)
click to toggle source
# File lib/qbrick/translatable.rb, line 51 def attr_name_for_locale(attr_name, locale) "#{attr_name}_#{locale.to_s.underscore}" end
define_localized_attr_finder(attr_name)
click to toggle source
# File lib/qbrick/translatable.rb, line 37 def define_localized_attr_finder(attr_name) define_singleton_method "find_by_#{attr_name}" do |val| send "find_by_#{attr_name}_#{locale_for_attr_name}", val end end
define_localized_attr_getter(attr_name)
click to toggle source
# File lib/qbrick/translatable.rb, line 19 def define_localized_attr_getter(attr_name) define_method attr_name do send "#{attr_name}_#{locale_for_attr_name}" end end
define_localized_attr_predicate_method(attr_name)
click to toggle source
# File lib/qbrick/translatable.rb, line 25 def define_localized_attr_predicate_method(attr_name) define_method "#{attr_name}?" do send "#{attr_name}_#{locale_for_attr_name}?" end end
define_localized_attr_setter(attr_name)
click to toggle source
# File lib/qbrick/translatable.rb, line 31 def define_localized_attr_setter(attr_name) define_method "#{attr_name}=" do |val| send "#{attr_name}_#{locale_for_attr_name}=", val end end
locale_attr(attr_name)
click to toggle source
# File lib/qbrick/translatable.rb, line 47 def locale_attr(attr_name) "#{attr_name}_#{locale_for_attr_name}" end
locale_for_attr_name()
click to toggle source
# File lib/qbrick/translatable.rb, line 43 def locale_for_attr_name I18n.locale.to_s.underscore end
translate(*args)
click to toggle source
# File lib/qbrick/translatable.rb, line 10 def translate(*args) args.each do |attr_name| define_localized_attr_getter attr_name define_localized_attr_setter attr_name define_localized_attr_finder attr_name define_localized_attr_predicate_method attr_name end end
translated_columns_for(attr_name)
click to toggle source
# File lib/qbrick/translatable.rb, line 55 def translated_columns_for(attr_name) column_names & I18n.available_locales.map { |l| attr_name_for_locale attr_name, l } end