Sha256: ab2a018ca476d06f9fbbc72281f51b4d1371cf15d5c24518a694268e6039998e

Contents?: true

Size: 1.31 KB

Versions: 30

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

30 entries across 30 versions & 1 rubygems

Version Path
lalala-4.0.0.dev.114 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.113 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.111 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.109 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.107 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.94 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.92 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.90 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.84 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.80 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.79 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.78 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.77 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.74 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.73 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.72 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.71 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.66 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.65 lib/lalala/ext_i18n/input_helper.rb
lalala-4.0.0.dev.64 lib/lalala/ext_i18n/input_helper.rb