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.4"

Class Method Summary collapse

Class Method Details

.configObject



7
8
9
# File 'lib/lato_settings.rb', line 7

def config
  @config ||= Config.new
end

.configure {|config| ... } ⇒ Object

Yields:



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[key] || default
end

.load_cacheObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/lato_settings.rb', line 21

def load_cache
  return true if defined?(@cache) && @cache

  @cache = Rails.cache.fetch('LatoSettings/cache') do
    cache = {}
    LatoSettings::Setting.all.select(:key, :value, :typology).each do |setting|
      cache[setting.key] = setting.value_formatted
    end

    cache
  end

  @cache
end

.reset_cacheObject



36
37
38
39
# File 'lib/lato_settings.rb', line 36

def reset_cache
  @cache = nil
  Rails.cache.delete('LatoSettings/cache')
end