Class: Lolita::Configuration::Tab::Base::TranslationTabExtension

Inherits:
Object
  • Object
show all
Defined in:
lib/lolita-translation/lolita/tab_extension.rb

Overview

This class encapsulate all logic about tab that are translatable, original tab uses it only when it is neccessary

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tab) ⇒ TranslationTabExtension

Returns a new instance of TranslationTabExtension.



10
11
12
13
# File 'lib/lolita-translation/lolita/tab_extension.rb', line 10

def initialize(tab)
  @tab = tab
  @dbi = tab.dbi
end

Instance Attribute Details

#dbiObject (readonly)

Returns the value of attribute dbi.



9
10
11
# File 'lib/lolita-translation/lolita/tab_extension.rb', line 9

def dbi
  @dbi
end

#tabObject (readonly)

Returns the value of attribute tab.



9
10
11
# File 'lib/lolita-translation/lolita/tab_extension.rb', line 9

def tab
  @tab
end

Instance Method Details

#add_original_locale_field(fields) ⇒ Object



25
26
27
28
29
30
# File 'lib/lolita-translation/lolita/tab_extension.rb', line 25

def add_original_locale_field(fields)
  if is_dbi_klass_translatable? && !exist_original_locale_field?(fields) && tab_has_translatable_fields?(fields)
    locale_field = Lolita::Configuration::Factory::Field.add(dbi, :original_locale, :string, :builder => :hidden)
    fields << locale_field 
  end
end

#build_form(resource) ⇒ Object



19
20
21
22
23
# File 'lib/lolita-translation/lolita/tab_extension.rb', line 19

def build_form(resource) 
  resource.build_nested_translations 
  nested_form = create_translations_nested_form(resource)
  nested_form 
end

#translatable?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/lolita-translation/lolita/tab_extension.rb', line 15

def translatable?
  is_dbi_klass_translatable? && tab_has_translatable_fields?
end