Module: Lit
- Extended by:
- Lit
- Included in:
- Lit
- Defined in:
- lib/lit/middleware.rb,
lib/lit.rb,
lib/lit/cache.rb,
lib/lit/rails.rb,
lib/lit/engine.rb,
lib/lit/export.rb,
lib/lit/import.rb,
lib/lit/loader.rb,
lib/lit/railtie.rb,
lib/lit/version.rb,
lib/lit/i18n_backend.rb,
app/models/lit/locale.rb,
app/models/lit/source.rb,
lib/lit/cloud_translation.rb,
app/models/lit/localization.rb,
app/helpers/lit/sources_helper.rb,
lib/lit/adapters/redis_storage.rb,
app/models/lit/localization_key.rb,
app/helpers/lit/dashboard_helper.rb,
lib/lit/services/humanize_service.rb,
app/helpers/lit/application_helper.rb,
app/jobs/lit/synchronize_source_job.rb,
app/models/lit/localization_version.rb,
app/helpers/lit/localizations_helper.rb,
lib/generators/lit/install_generator.rb,
app/models/lit/incomming_localization.rb,
app/controllers/lit/locales_controller.rb,
app/controllers/lit/sources_controller.rb,
app/controllers/lit/dashboard_controller.rb,
app/helpers/lit/localization_keys_helper.rb,
app/controllers/lit/api/v1/base_controller.rb,
app/controllers/lit/application_controller.rb,
app/controllers/lit/localizations_controller.rb,
app/controllers/lit/api/v1/locales_controller.rb,
app/controllers/lit/localization_keys_controller.rb,
app/controllers/lit/cloud_translations_controller.rb,
lib/lit/services/localization_keys_to_hash_service.rb,
app/controllers/lit/api/v1/localizations_controller.rb,
app/controllers/lit/incomming_localizations_controller.rb,
app/controllers/lit/api/v1/localization_keys_controller.rb
Overview
A middleware that ensures the lit thread value is cleared after the last part of the body is rendered. This is useful when using streaming.j
Uses Rack::BodyProxy, adapted from Rack::Lock’s usage of the same pattern.
Defined Under Namespace
Modules: Adapters, Api, ApplicationHelper, CloudTranslation, DashboardHelper, FrontendHelper, Generators, LocalizationKeysHelper, LocalizationsHelper, Rails, RequestInfoStore, RequestKeysStore, Services, SourcesHelper, Version
Classes: ApplicationController, Base, Cache, CloudTranslationsController, DashboardController, Engine, Export, I18nBackend, Import, IncommingLocalization, IncommingLocalizationsController, Loader, Locale, LocalesController, Localization, LocalizationKey, LocalizationKeysController, LocalizationVersion, LocalizationsController, Middleware, Railtie, Source, SourcesController, SynchronizeSourceJob
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Class Attribute Details
.loader ⇒ Object
Returns the value of attribute loader.
25
26
27
|
# File 'lib/lit.rb', line 25
def loader
@loader
end
|
Class Method Details
.check_if_table_exists ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/lit.rb', line 55
def self.check_if_table_exists
Lit::Locale.table_exists?
rescue ActiveRecord::ActiveRecordError => e
log_txt =
"An #{e.class} error has been raised during Lit initialization. " \
"Lit assumes that database tables do not exist.\n\n" \
"Error: #{e.message}\n\n" \
"Backtrace:\n" \
"#{e.backtrace.join("\n")}"
Logger.new(STDOUT).error(log_txt) if ::Rails.env.test? ::Rails.logger.error(log_txt)
false
end
|
.fallback=(_value) ⇒ Object
80
81
82
|
# File 'lib/lit.rb', line 80
def self.fallback=(_value)
::Rails.logger.error '[DEPRECATION] Lit.fallback= has been deprecated, please use `config.i18n.fallbacks` instead'
end
|
.get_key_value_engine ⇒ Object
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/lit.rb', line 69
def self.get_key_value_engine
case Lit.key_value_engine
when 'redis'
require 'lit/adapters/redis_storage'
return ::Lit::Adapters::RedisStorage.new
else
require 'lit/adapters/hash_storage'
return ::Lit::Adapters::HashStorage.new
end
end
|
.init ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/lit.rb', line 28
def self.init
@@table_exists ||= check_if_table_exists
if loader.nil? && @@table_exists
self.loader ||= Loader.new
Lit.humanize_key = false if Lit.humanize_key.nil?
Lit.humanize_key_ignored_keys = [] if Lit.humanize_key_ignored_keys.nil?
Lit.humanize_key_ignored = %w[i18n date datetime number time support]
Lit.humanize_key_ignored |= Lit.humanize_key_ignored_keys
Lit.humanize_key_ignored = Regexp.new("(#{Lit.humanize_key_ignored.join('|')}).*")
Lit.ignore_yaml_on_startup = true if Lit.ignore_yaml_on_startup.nil?
Lit.ignored_keys = Lit.ignored_keys.split(',').map(&:strip) if Lit.ignored_keys.is_a?(String)
Lit.ignored_keys = [] unless Lit.ignored_keys.is_a?(Array)
Lit.ignored_keys = Lit.ignored_keys.map(&:freeze).freeze
Lit.hits_counter_enabled = false if Lit.hits_counter_enabled.nil?
Lit.store_request_info = false if Lit.store_request_info.nil?
Lit.store_request_keys = false if Lit.store_request_keys.nil?
Lit.storage_options ||= {}
end
self.loader
end
|
.version ⇒ Object
6
7
8
|
# File 'lib/lit/version.rb', line 6
def version
Gem::Version.new Version::STRING
end
|
Instance Method Details
#determine_redis_provider ⇒ Object
12
13
14
|
# File 'lib/lit/adapters/redis_storage.rb', line 12
def determine_redis_provider
Lit.redis_url || ENV[ENV['REDIS_PROVIDER'] || 'REDIS_URL']
end
|
#redis ⇒ Object
6
7
8
9
10
|
# File 'lib/lit/adapters/redis_storage.rb', line 6
def redis
$redis ||= nil
$redis = Redis.new(url: determine_redis_provider) unless $redis
$redis
end
|