Sha256: 67bfdab3e043ba6cda33217fe6362b7079d5b9a248016326f901fc037fc557c0

Contents?: true

Size: 1.31 KB

Versions: 97

Compression:

Stored size: 1.31 KB

Contents

module Lalala::ExtI18n::InputHelper

  def input(method, options = {})
    unless translated?(method)
      return super(method, options)
    end

    begin
      _locale, _object_name = I18n.locale, @object_name

      h = "".html_safe

      locales = I18n.available_locales.dup
      locales.sort!

      if I18n.default_locale
        locales.delete(I18n.default_locale)
        locales.unshift(I18n.default_locale)
      end

      opts = options.dup
      if opts[:wrapper_html]
        opts[:wrapper_html] = opts[:wrapper_html].dup
      else
        opts[:wrapper_html] = {}
      end

      opts[:wrapper_html][:class] = [
        opts[:wrapper_html][:class],
        "translated"
      ].flatten.compact

      locales.each do |locale|
        I18n.locale  = locale
        @object_name = "#{_object_name}[translations_writer][#{locale}]"

        opts[:wrapper_html][:'data-locale'] = locale.to_s

        h << super(method, opts)
      end

      h

    ensure
      I18n.locale, @object_name = _locale, _object_name
    end
  end

protected

  def column_for(method) #:nodoc:
    if translated?(method)
      c = @object.class.translation_class.columns_hash[method.to_s]
      return c if c
    end

    super(method)
  end

  def translated?(method)
    @object.respond_to?(:translated?) and @object.translated?(method)
  end

end

Version data entries

97 entries across 97 versions & 1 rubygems

Version Path
lalala-4.1.0.dev.324 lib/lalala/ext_i18n/input_helper.rb
lalala-4.1.0.dev.322 lib/lalala/ext_i18n/input_helper.rb
lalala-4.1.0.dev.321 lib/lalala/ext_i18n/input_helper.rb
lalala-4.1.0.dev.318 lib/lalala/ext_i18n/input_helper.rb
lalala-4.1.0.dev.316 lib/lalala/ext_i18n/input_helper.rb
lalala-4.1.0.dev.314 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.313 lib/lalala/ext_i18n/input_helper.rb
lalala-4.1.0.dev.309 lib/lalala/ext_i18n/input_helper.rb
lalala-4.1.0.dev.305 lib/lalala/ext_i18n/input_helper.rb
lalala-4.1.0.dev.299 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.291 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.288 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.285 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.284 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.283 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.279 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.277 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.275 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.269 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.267 lib/lalala/ext_i18n/input_helper.rb