Sha256: 9f9811c718ecf564daad79d858ff208ffe42ced6983dc2aa157851c489a22e2c

Contents?: true

Size: 714 Bytes

Versions: 2

Compression:

Stored size: 714 Bytes

Contents

# add accessors with locale suffix like `title_en`, `title_de`
module GlobalizeAccessorsWithLocaleSuffix
  def define_translated_attr_reader(name)
    super
    Globalize.available_locales.each do |locale|
      method_name = "#{name}_#{locale}"
      define_method method_name.to_sym do
        read_attribute(name, locale: locale)
      end
    end
  end

  def define_translated_attr_writer(name)
    super
    Globalize.available_locales.each do |locale|
      define_method "#{name}_#{locale}=".to_sym do |value|
        Globalize.with_locale(locale) { send("#{name}=", value) }
      end
    end
  end
end

Globalize::ActiveRecord::ClassMethods.module_eval do
  prepend GlobalizeAccessorsWithLocaleSuffix
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ab_admin-0.8.3 lib/ab_admin/hooks/globalize_locale_suffix_accessors.rb
ab_admin-0.8.2 lib/ab_admin/hooks/globalize_locale_suffix_accessors.rb