Module: LatoSettings
- Defined in:
- lib/lato_settings.rb,
lib/lato_settings/config.rb,
lib/lato_settings/engine.rb,
lib/lato_settings/version.rb,
app/models/lato_settings/setting.rb,
app/jobs/lato_settings/application_job.rb,
app/helpers/lato_settings/settings_helper.rb,
app/helpers/lato_settings/application_helper.rb,
app/mailers/lato_settings/application_mailer.rb,
app/controllers/lato_settings/settings_controller.rb,
app/controllers/lato_settings/application_controller.rb
Defined Under Namespace
Modules: ApplicationHelper, SettingsHelper
Classes: ApplicationController, ApplicationJob, ApplicationMailer, Config, Engine, Setting, SettingsController
Constant Summary
collapse
- VERSION =
"3.0.6"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
7
8
9
|
# File 'lib/lato_settings.rb', line 7
def config
@config ||= Config.new
end
|
11
12
13
|
# File 'lib/lato_settings.rb', line 11
def configure
yield config
end
|
.get(key, default = nil) ⇒ Object
15
16
17
18
19
|
# File 'lib/lato_settings.rb', line 15
def get(key, default = nil)
load_cache
@cache[:data][key.to_s] || default
end
|
.load_cache ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/lato_settings.rb', line 21
def load_cache
return true if defined?(@cache) && @cache && @cache[:expires_at] && @cache[:expires_at] > Time.now
@cache = Rails.cache.fetch('LatoSettings/cache') do
data = {}
LatoSettings::Setting.all.each do |setting|
data[setting.key] = setting.value_formatted
end
{
data: data,
expires_at: Time.now + 1.minute
}
end
@cache
end
|
.reset_cache ⇒ Object
39
40
41
42
|
# File 'lib/lato_settings.rb', line 39
def reset_cache
@cache = nil
Rails.cache.delete('LatoSettings/cache')
end
|