Class: Lit::Localization

Inherits:
Base
  • Object
show all
Defined in:
app/models/lit/localization.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#retried_created, #retried_updated

Instance Method Summary collapse

Methods inherited from Base

#mark_for_retry, #rolledback_after_insert?, #rolledback_after_update?

Instance Attribute Details

#full_key_strObject

ACCESSORS



32
33
34
# File 'app/models/lit/localization.rb', line 32

def full_key_str
  @full_key_str
end

Instance Method Details

#changedObject

SCOPES



7
# File 'app/models/lit/localization.rb', line 7

scope :changed, -> { where is_changed: true }

#full_keyObject



48
49
50
# File 'app/models/lit/localization.rb', line 48

def full_key
  full_key_str || [locale.locale, localization_key.localization_key].join('.')
end

#is_deletedObject

DELEGATIONS



26
# File 'app/models/lit/localization.rb', line 26

delegate :is_deleted, to: :localization_key

#last_changeObject



72
73
74
# File 'app/models/lit/localization.rb', line 72

def last_change
  updated_at.to_s(:db)
end

#localeObject

VALIDATIONS



20
# File 'app/models/lit/localization.rb', line 20

belongs_to :locale

#locale_strObject



68
69
70
# File 'app/models/lit/localization.rb', line 68

def locale_str
  locale.locale
end

#localization_key_is_deletedObject



64
65
66
# File 'app/models/lit/localization.rb', line 64

def localization_key_is_deleted
  localization_key.is_deleted
end

#localization_key_strObject



60
61
62
# File 'app/models/lit/localization.rb', line 60

def localization_key_str
  localization_key.localization_key
end

#to_sObject



44
45
46
# File 'app/models/lit/localization.rb', line 44

def to_s
  translation
end

#translated_value_changed?Object

BEFORE & AFTER



39
40
41
# File 'app/models/lit/localization.rb', line 39

with_options if: :translated_value_changed? do |o|
  o.before_update :create_version
end

#translationObject



52
53
54
# File 'app/models/lit/localization.rb', line 52

def translation
  is_changed? && !translated_value.nil? ? translated_value : default_value
end

#update_default_value(value) ⇒ Object



76
77
78
79
80
81
82
83
84
# File 'app/models/lit/localization.rb', line 76

def update_default_value(value)
  return true if persisted? && default_value == value
  if persisted?
    update(default_value: value)
  else
    self.default_value = value
    save!
  end
end

#valueObject



56
57
58
# File 'app/models/lit/localization.rb', line 56

def value
  translation
end