Class: Lolita::Configuration::Tab::Base::TranslationTabExtension
- Inherits:
-
Object
- Object
- Lolita::Configuration::Tab::Base::TranslationTabExtension
- 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
-
#dbi ⇒ Object
readonly
Returns the value of attribute dbi.
-
#tab ⇒ Object
readonly
Returns the value of attribute tab.
Instance Method Summary collapse
- #add_original_locale_field(fields) ⇒ Object
- #build_form(resource) ⇒ Object
-
#initialize(tab) ⇒ TranslationTabExtension
constructor
A new instance of TranslationTabExtension.
- #translatable? ⇒ Boolean
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
#dbi ⇒ Object (readonly)
Returns the value of attribute dbi.
9 10 11 |
# File 'lib/lolita-translation/lolita/tab_extension.rb', line 9 def dbi @dbi end |
#tab ⇒ Object (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
15 16 17 |
# File 'lib/lolita-translation/lolita/tab_extension.rb', line 15 def translatable? is_dbi_klass_translatable? && tab_has_translatable_fields? end |