Module: ActiveRecord::Mlang

Included in:
Lang
Defined in:
lib/active_record/mlang.rb,
lib/active_record/mlang/lang.rb,
lib/active_record/mlang/text.rb,
lib/active_record/mlang/railtie.rb,
lib/active_record/mlang/lang_text.rb

Defined Under Namespace

Modules: ClassMethods, Text Classes: Lang, LangText, Railtie

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
10
# File 'lib/active_record/mlang.rb', line 7

def self.included(base)
  base.extend ClassMethods
  base.set_text_reflection
end

Instance Method Details

#text(local_or_lang_id = nil) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/active_record/mlang.rb', line 54

def text(local_or_lang_id=nil)
  return nil if !self.persisted?
  local_or_lang_id ||= I18n.default_locale
  lang_id = nil
  if local_or_lang_id.kind_of? Integer
    lang_id = local_or_lang_id if Lang.exists?(id: local_or_lang_id)
  else
    lang_id = Lang[local_or_lang_id].try(:id)
  end

  return nil if !lang_id

  texts.find_or_create_by(lang_id: lang_id)
end