Class: Lolita::Translation::Builder::AbstractBuilder
- Inherits:
-
Object
- Object
- Lolita::Translation::Builder::AbstractBuilder
- Defined in:
- lib/lolita-translation/builder/abstract_builder.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#base_klass ⇒ Object
readonly
Returns the value of attribute base_klass.
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
-
#klass ⇒ Object
readonly
Returns the value of attribute klass.
Instance Method Summary collapse
- #association_key ⇒ Object
- #association_name ⇒ Object
- #build ⇒ Object
- #class_name ⇒ Object
-
#initialize(base_class, configuration = nil, superclass = nil) ⇒ AbstractBuilder
constructor
A new instance of AbstractBuilder.
- #locale_field_name ⇒ Object
- #override_klass_attributes(method_names) ⇒ Object
- #table_name ⇒ Object
- #translations_association_name ⇒ Object
Constructor Details
#initialize(base_class, configuration = nil, superclass = nil) ⇒ AbstractBuilder
Returns a new instance of AbstractBuilder.
8 9 10 11 12 13 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 8 def initialize(base_class, configuration = nil, superclass = nil) @superclass = superclass @base_klass = base_class @configuration = configuration @klass = create_klass end |
Instance Attribute Details
#base_klass ⇒ Object (readonly)
Returns the value of attribute base_klass.
6 7 8 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 6 def base_klass @base_klass end |
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
6 7 8 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 6 def configuration @configuration end |
#klass ⇒ Object (readonly)
Returns the value of attribute klass.
6 7 8 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 6 def klass @klass end |
Instance Method Details
#association_key ⇒ Object
27 28 29 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 27 def association_key @configuration && @configuration.association_key end |
#association_name ⇒ Object
23 24 25 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 23 def association_name @configuration && @configuration.demodulized_class_name end |
#build ⇒ Object
19 20 21 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 19 def build implementation_warn end |
#class_name ⇒ Object
15 16 17 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 15 def class_name "#{@base_klass.to_s}Translation" end |
#locale_field_name ⇒ Object
35 36 37 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 35 def locale_field_name @configuration && @configuration.locale_field_name end |
#override_klass_attributes(method_names) ⇒ Object
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 43 def override_klass_attributes method_names method_names.each do |method_name, attribute| validate_attribute_method_and_attribute(method_name, attribute) base_klass.instance_eval do define_method(method_name) do translation_record.attribute(attribute) end end end end |
#table_name ⇒ Object
39 40 41 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 39 def table_name @configuration && @configuration.table_name end |
#translations_association_name ⇒ Object
31 32 33 |
# File 'lib/lolita-translation/builder/abstract_builder.rb', line 31 def translations_association_name @configuration && @configuration.association_name end |