Sha256: 90480ed426e4de1eca161a4dab43c16bff146f5cc29d2871734d07eb49cf5af7

Contents?: true

Size: 1.57 KB

Versions: 15

Compression:

Stored size: 1.57 KB

Contents

module Mobility
  module Backends
=begin

Stores translated attribute as a column on the model table. To use this
backend, ensure that the model table has columns named +<attribute>_<locale>+
for every locale in +I18n.available_locales+.

If you are using Rails, you can use the +mobility:translations+ generator to
create a migration adding these columns to the model table with:

  rails generate mobility:translations post title:string

The generated migration will add columns +title_<locale>+ for every locale in
+I18n.available_locales+. (The generator can be run again to add new attributes
or locales.)

==Backend Options

There are no options for this backend. Also, the +locale_accessors+ option will
be ignored if set, since it would cause a conflict with column accessors.

@see Mobility::Backends::ActiveRecord::Column
@see Mobility::Backends::Sequel::Column

=end
    module Column
      extend Backend::OrmDelegator

      # Returns name of column where translated attribute is stored
      # @param [Symbol] locale
      # @return [String]
      def column(locale = Mobility.locale)
        Column.column_name_for(attribute, locale)
      end

      # Returns name of column where translated attribute is stored
      # @param [String] attribute
      # @param [Symbol] locale
      # @return [String]
      def self.column_name_for(attribute, locale = Mobility.locale)
        normalized_locale = Mobility.normalize_locale(locale)
        "#{attribute}_#{normalized_locale}".to_sym
      end

      def self.included(base)
        base.extend Backend::OrmDelegator
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
mobility-0.4.3 lib/mobility/backends/column.rb
mobility-0.4.2 lib/mobility/backends/column.rb
mobility-0.4.1 lib/mobility/backends/column.rb
mobility-0.4.0 lib/mobility/backends/column.rb
mobility-0.3.6 lib/mobility/backends/column.rb
mobility-0.3.5 lib/mobility/backends/column.rb
mobility-0.3.4 lib/mobility/backends/column.rb
mobility-0.3.3 lib/mobility/backends/column.rb
mobility-0.3.2 lib/mobility/backends/column.rb
mobility-0.3.1 lib/mobility/backends/column.rb
mobility-0.3.0 lib/mobility/backends/column.rb
mobility-0.2.3 lib/mobility/backends/column.rb
mobility-0.2.2 lib/mobility/backends/column.rb
mobility-0.2.1 lib/mobility/backends/column.rb
mobility-0.2.0 lib/mobility/backends/column.rb