Class: Lit::LocalizationKey
- Inherits:
-
Base
- Object
- ActiveRecord::Base
- Base
- Lit::LocalizationKey
show all
- Defined in:
- app/models/lit/localization_key.rb
Instance Attribute Summary collapse
Attributes inherited from Base
#retried_created, #retried_updated
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#mark_for_retry, #rolledback_after_insert?, #rolledback_after_update?
Instance Attribute Details
#interpolated_key ⇒ Object
Returns the value of attribute interpolated_key.
3
4
5
|
# File 'app/models/lit/localization_key.rb', line 3
def interpolated_key
@interpolated_key
end
|
Class Method Details
.default_search_options ⇒ Object
it can be overridden in parent application, for example: => “created_at desc”
60
61
62
|
# File 'app/models/lit/localization_key.rb', line 60
def self.default_search_options
{}
end
|
.order_options ⇒ Object
53
54
55
56
|
# File 'app/models/lit/localization_key.rb', line 53
def self.order_options
['localization_key asc', 'localization_key desc', 'created_at asc',
'created_at desc', 'updated_at asc', 'updated_at desc']
end
|
.search(options = {}) ⇒ Object
Instance Method Details
#change_all_completed ⇒ Object
68
69
70
71
72
73
|
# File 'app/models/lit/localization_key.rb', line 68
def change_all_completed
self.class.transaction do
toggle(:is_completed).save!
localizations.update_all is_changed: is_completed
end
end
|
#clone_localizations ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'app/models/lit/localization_key.rb', line 40
def clone_localizations
new_created = false
Lit::Locale.find_each do |locale|
localizations.where(locale_id: locale.id).first_or_create do |l|
l.default_value = interpolated_key
new_created = true
end
end
return unless new_created
Lit::LocalizationKey.update_all ['is_completed=?', false],
['id=? and is_completed=?', id, false]
end
|
#completed ⇒ Object
6
|
# File 'app/models/lit/localization_key.rb', line 6
scope :completed, -> { where(is_completed: true) }
|
#localization_key ⇒ Object
23
24
25
|
# File 'app/models/lit/localization_key.rb', line 23
validates :localization_key,
presence: true,
uniqueness: { if: :localization_key_changed? }
|
#localizations ⇒ Object
20
|
# File 'app/models/lit/localization_key.rb', line 20
has_many :localizations, dependent: :destroy
|
#remove_from_cache ⇒ Object
83
84
85
86
87
|
# File 'app/models/lit/localization_key.rb', line 83
def remove_from_cache
Lit::Locale.pluck(:locale).each do |l|
Lit.init.cache.delete_key "#{l}.#{localization_key}"
end
end
|
#restore ⇒ Object
89
90
91
92
93
94
|
# File 'app/models/lit/localization_key.rb', line 89
def restore
ActiveRecord::Base.transaction do
update is_deleted: false, is_completed: false, is_visited_again: false
localizations.update_all is_changed: false
end
end
|
#soft_destroy ⇒ Object
75
76
77
78
79
80
81
|
# File 'app/models/lit/localization_key.rb', line 75
def soft_destroy
ActiveRecord::Base.transaction do
update is_deleted: true
change_all_completed
remove_from_cache
end
end
|
#to_s ⇒ Object
36
37
38
|
# File 'app/models/lit/localization_key.rb', line 36
def to_s
localization_key
end
|