Sha256: a1e464de2d9491ebefb865d33ce07afd1c2f1fc61b3b54862a3627f40db3194f

Contents?: true

Size: 723 Bytes

Versions: 8

Compression:

Stored size: 723 Bytes

Contents

module Hancock::ModelLocalizeable
  extend ActiveSupport::Concern

  module ClassMethods
    def convert2localize
      self.all.to_a.map do |p|
        p.convert2localize
      end
    end
  end

  def convert2localize(save_it = true)
    arr = {}
    self.localized_fields.keys.each do |f|
      if self[f].is_a?(Hash) and f !~ /_translations$/
        self[f + '_translations'] = self.remove_attribute(f)
      else
        arr[f] = self.remove_attribute(f)
        self[f] = {}
      end
    end
    self.save if save_it

    I18n.available_locales.each do |l|
      I18n.with_locale(l) do
        arr.each_pair do |f, v|
          self.send(f + "=", v)
        end
      end
    end
    self.save if save_it
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hancock_cms-1.0.1 app/models/concerns/hancock/model_localizeable.rb
hancock_cms-2.0.0.2 app/models/concerns/hancock/model_localizeable.rb
hancock_cms-1.0.0.4 app/models/concerns/hancock/model_localizeable.rb
hancock_cms-1.0.0.3 app/models/concerns/hancock/model_localizeable.rb
hancock_cms-2.0.0.1 app/models/concerns/hancock/model_localizeable.rb
hancock_cms-1.0.0.2 app/models/concerns/hancock/model_localizeable.rb
hancock_cms-2.0.0 app/models/concerns/hancock/model_localizeable.rb
hancock_cms-1.0.0 app/models/concerns/hancock/model_localizeable.rb