Module: RubyCms::AppIntegration::AppSettings

Defined in:
lib/ruby_cms/app_integration.rb

Overview

App Settings: Load app-specific settings/config into CMS context

Class Method Summary collapse

Class Method Details

.get_setting(key, view_context) ⇒ Object

Get a specific setting



53
54
55
56
# File 'lib/ruby_cms/app_integration.rb', line 53

def self.get_setting(key, view_context)
  loader = (@registered_settings || {})[key.to_s]
  loader&.call(view_context)
end

.load_settings(view_context) ⇒ Object

Get all settings for a view context



46
47
48
49
50
# File 'lib/ruby_cms/app_integration.rb', line 46

def self.load_settings(view_context)
  (@registered_settings || {}).transform_values do |loader|
    loader.call(view_context)
  end
end

.register_setting(key:, loader:) ⇒ Object

Register a setting that can be loaded into CMS context

Parameters:

  • key (String)

    Setting key

  • loader (Proc)

    Callable that returns the setting value: ->(view_context) { … }



40
41
42
43
# File 'lib/ruby_cms/app_integration.rb', line 40

def self.register_setting(key:, loader:)
  @registered_settings ||= {}
  @registered_settings[key.to_s] = loader
end