Class: Lolita::Translation::Configuration

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_klass, *args, &block) ⇒ Configuration

Returns a new instance of Configuration.



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/lolita-translation/configuration.rb', line 16

def initialize(base_klass, *args, &block)
  @options            = (args.respond_to?(:last) && args.last.is_a?(Hash) && args.pop) || {}
  @klass              = base_klass
  @attributes         = args
  if base_klass.table_exists?
    build_translation_class
    if block_given?
      block.call(self)
    end
  end
end

Instance Attribute Details

#attributesObject (readonly) Also known as: translation_attributes

Returns the value of attribute attributes.



13
14
15
# File 'lib/lolita-translation/configuration.rb', line 13

def attributes
  @attributes
end

#klassObject (readonly)

Returns the value of attribute klass.



13
14
15
# File 'lib/lolita-translation/configuration.rb', line 13

def klass
  @klass
end

#optionsObject (readonly)

Returns the value of attribute options.



13
14
15
# File 'lib/lolita-translation/configuration.rb', line 13

def options
  @options
end

#translation_classObject (readonly)

Returns the value of attribute translation_class.



13
14
15
# File 'lib/lolita-translation/configuration.rb', line 13

def translation_class
  @translation_class
end

Instance Method Details

#association_keyObject



44
45
46
# File 'lib/lolita-translation/configuration.rb', line 44

def association_key
  options[:association_key] || :"#{demodulized_class_name}_id"
end

#association_nameObject



28
29
30
# File 'lib/lolita-translation/configuration.rb', line 28

def association_name
  options[:association_name] || :translations
end

#demodulized_class_nameObject



52
53
54
# File 'lib/lolita-translation/configuration.rb', line 52

def demodulized_class_name
  klass.to_s.demodulize.underscore
end

#locale_field_nameObject



40
41
42
# File 'lib/lolita-translation/configuration.rb', line 40

def locale_field_name
  options[:locale_field_name] || :default_locale
end

#localesObject



32
33
34
35
36
37
38
# File 'lib/lolita-translation/configuration.rb', line 32

def locales
  if options[:locales]
    Lolita::Translation::Locales.new(options[:locales])
  else
    Lolita::Translation.locales
  end
end

#table_nameObject



48
49
50
# File 'lib/lolita-translation/configuration.rb', line 48

def table_name
  options[:table_name] || "#{klass.table_name}_translations"
end