weeler 2.0.0 → 2.1.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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/.travis.yml +1 -2
  4. data/CHANGELOG.md +16 -0
  5. data/Gemfile +0 -7
  6. data/app/assets/javascripts/weeler/init.js +0 -2
  7. data/app/assets/stylesheets/weeler/style.css.scss +7 -1
  8. data/app/controllers/weeler/seo_items_controller.rb +3 -2
  9. data/app/controllers/weeler/settings_controller.rb +27 -9
  10. data/app/controllers/weeler/static_sections_controller.rb +2 -2
  11. data/app/controllers/weeler/translations_controller.rb +4 -18
  12. data/app/models/setting.rb +7 -0
  13. data/app/views/weeler/base/_footer.html.haml +1 -1
  14. data/app/views/weeler/settings/_form.html.haml +16 -0
  15. data/app/views/weeler/settings/index.html.haml +5 -8
  16. data/app/views/weeler/static_sections/show.html.haml +5 -1
  17. data/app/views/weeler/translations/_form.html.haml +5 -2
  18. data/app/views/weeler/translations/index.html.haml +0 -10
  19. data/lib/generators/weeler/templates/assets/javascripts/weeler/app/index.js +3 -1
  20. data/lib/generators/weeler/templates/assets/stylesheets/weeler/app/index.css +1 -1
  21. data/lib/i18n/backend/weeler/exporter.rb +32 -14
  22. data/lib/i18n/backend/weeler/importer.rb +59 -57
  23. data/lib/i18n/backend/weeler.rb +14 -25
  24. data/lib/weeler/action_dispatch/routing/mapper.rb +1 -2
  25. data/lib/weeler/action_view/helpers/translation_helper.rb +2 -2
  26. data/lib/weeler/version.rb +1 -1
  27. data/lib/weeler.rb +6 -1
  28. data/spec/.DS_Store +0 -0
  29. data/spec/controllers/translations_controller_spec.rb +1 -1
  30. data/spec/dummy/.ruby-version +1 -1
  31. data/spec/dummy/config/environment.rb +1 -1
  32. data/spec/dummy/db/schema.rb +3 -3
  33. data/spec/fixtures/test_2020_format.xlsx +0 -0
  34. data/spec/weeler/i18n/backend/weeler/exporter_spec.rb +6 -0
  35. data/spec/weeler/i18n/backend/weeler/importer_spec.rb +17 -6
  36. data/spec/weeler/i18n/backend/weeler_spec.rb +51 -66
  37. data/weeler.gemspec +4 -5
  38. metadata +22 -37
  39. data/app/models/settings.rb +0 -2
  40. data/app/views/weeler/translations/usage_stats.html.haml +0 -34
  41. data/lib/generators/weeler/templates/migrations/create_weeler_translation_stats.rb +0 -11
  42. data/lib/i18n/backend/weeler/usage_logger.rb +0 -35
  43. data/spec/weeler/i18n/backend/weeler/usage_logger_spec.rb +0 -34
@@ -1,11 +0,0 @@
1
- class CreateWeelerTranslationStats < ActiveRecord::Migration
2
- def change
3
- create_table :weeler_translation_stats do |t|
4
- t.string :key
5
- t.integer :usage_count, default: 0
6
-
7
- t.timestamps
8
- end
9
- add_index :weeler_translation_stats, :key
10
- end
11
- end
@@ -1,35 +0,0 @@
1
- require 'active_record'
2
-
3
- module I18n
4
- module Backend
5
- class Weeler
6
-
7
- module UsageLogger
8
-
9
- def log_key_usage(locale, key)
10
- existing = i18n_cache.read([:usage_stats, [locale, key]])
11
- value = existing.present? ? (existing.to_i + 1) : 1
12
- i18n_cache.write [:usage_stats, [locale, key]], value
13
- end
14
-
15
- def dump_key_usage
16
- already_dumped = i18n_cache.read([:dump_usage_stats, Process.pid]).present?
17
- unless already_dumped
18
- Weeler::Lock.acquire('usage_stats_dump') do
19
- i18n_cache.instance_variable_get(:@data).keys.each do |key|
20
- if key.start_with?('usage_stats')
21
- translation_stat = TranslationStat.find_or_create_by(key: key.gsub('usage_stats/en/', ''))
22
- translation_stat.usage_count += i18n_cache.read(key).to_i
23
- translation_stat.save!
24
- end
25
- end
26
- i18n_cache.write [:dump_usage_stats, Process.pid], Process.pid
27
- end
28
- end
29
- end
30
-
31
- Weeler.send(:include, UsageLogger)
32
- end
33
- end
34
- end
35
- end
@@ -1,34 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe I18n::Backend::Weeler::UsageLogger do
4
- before(:each) do
5
- Settings.log_key_usage = 'true'
6
- @backend_cache = I18n.backend.backends[0].i18n_cache
7
- end
8
-
9
- describe "1. #log_key_usage" do
10
-
11
- it "logs key to cache store" do
12
- I18n.t('random.key.count')
13
- expect(@backend_cache.read([:usage_stats, [I18n.locale, 'random.key.count']])).to eq(1)
14
- I18n.t('random.key.count')
15
- expect(@backend_cache.read([:usage_stats, [I18n.locale, 'random.key.count']])).to eq(2)
16
- I18n.t('random.key.count')
17
- expect(@backend_cache.read([:usage_stats, [I18n.locale, 'random.key.count']])).to eq(3)
18
- end
19
-
20
- end
21
-
22
- describe "2. #dump_key_usage" do
23
-
24
- it "dumps stats to database" do
25
- I18n.t('random.key_dump')
26
- I18n.t('random.key_dump')
27
- I18n.t('random.key_dump')
28
- Settings.log_key_usage = 'dump'
29
- I18n.t('random.key_dump')
30
- expect(I18n::Backend::Weeler::TranslationStat.find_by(key: 'random.key_dump').try(:usage_count)).to eq(3)
31
- end
32
- end
33
-
34
- end