translated 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ea73e657d1f76d4cc23907d816cb02b7f0f7d58aa1c6d16ab569ee76c3bb9b2
4
- data.tar.gz: e505082236651a2f7dce2e7d194901fe48ce89df2effc8a5ace44bc380388a3d
3
+ metadata.gz: 8b3a7e233ad98179a153145bbb84fa38186b176351afca8ab458522c7c96148a
4
+ data.tar.gz: 54a5078644d08bf413b906e7806e04fd115ac41f764b22acf2634d54fbf94b5f
5
5
  SHA512:
6
- metadata.gz: 723730d263ccf589e01cf0143c405efebbf5d54a70277c2eab99d25a4a33d49cc0af42f478ab800a1e3e1264c86c9155f84d09006532697a4b851073fce9f792
7
- data.tar.gz: f1456fc3c0006c2c1b0912ad7a59188a741c2ea1bb1dfaf6c1d281dca8db992ce2547caf6a4fb2071d2c6e9d04f661173029d57889f860ec61df5b4e6b170dbe
6
+ metadata.gz: 2123c8e5f8b4448d7eb30881e310523492e51bdcab03a0ef032afa825b7d1e3c37274a56eeede9c4189db7e22116d4af82af66952f0ea715c6848ac6e3914474
7
+ data.tar.gz: ba6d3f9885d7d3de4f300dd86c3c61165124f2cb8b3f4393cc9f23319834d2223d66f4b757f51af04c22372cce853d201d50d164301e6330bf29233d23c5dc2f
@@ -18,6 +18,24 @@ module Translated
18
18
  self.content ||= {}
19
19
  end
20
20
 
21
+ # Sync translations for a single record by ID.
22
+ # Designed for use with delayable pattern: TranslatedTextField.delay.sync_record(id)
23
+ def self.sync_record(id)
24
+ find(id).update_translations
25
+ end
26
+
27
+ # Sync only records that are missing translations.
28
+ # Designed for use with delayable pattern: TranslatedTextField.delay.sync_missing
29
+ def self.sync_missing
30
+ with_missing_translations.find_each(&:update_translations)
31
+ end
32
+
33
+ # Re-translate all records. Useful after adding a new locale.
34
+ # Designed for use with delayable pattern: TranslatedTextField.delay.sync_all
35
+ def self.sync_all
36
+ find_each(&:update_translations)
37
+ end
38
+
21
39
  def for_locale(locale)
22
40
  content.fetch(locale.to_s) { content[language] }
23
41
  end
@@ -3,24 +3,15 @@
3
3
  namespace :translated do
4
4
  desc "Sync missing translations for all TranslatedTextField records"
5
5
  task sync_missing: :environment do
6
- count = 0
7
- Translated::TranslatedTextField.find_each do |field|
8
- if field.missing_translations?
9
- puts "Syncing translations for TranslatedTextField ##{field.id} (#{field.translatable_type}##{field.translatable_id})"
10
- field.update_translations
11
- count += 1
12
- end
13
- end
14
- puts "Done. Synced #{count} record(s)."
6
+ puts "Syncing records with missing translations..."
7
+ Translated::TranslatedTextField.sync_missing
8
+ puts "Done."
15
9
  end
16
10
 
17
11
  desc "Re-translate all TranslatedTextField records (useful after adding a new locale)"
18
12
  task sync_all: :environment do
19
- count = Translated::TranslatedTextField.count
20
- Translated::TranslatedTextField.find_each.with_index do |field, index|
21
- puts "[#{index + 1}/#{count}] Syncing TranslatedTextField ##{field.id} (#{field.translatable_type}##{field.translatable_id})"
22
- field.update_translations
23
- end
24
- puts "Done. Synced #{count} record(s)."
13
+ puts "Syncing all #{Translated::TranslatedTextField.count} record(s)..."
14
+ Translated::TranslatedTextField.sync_all
15
+ puts "Done."
25
16
  end
26
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Translated
4
- VERSION = '0.5.0'
4
+ VERSION = '0.6.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: translated
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trae Robrock