Module: ContentSecurityPolicy::Extension

Extended by:
Extension
Included in:
Extension
Defined in:
lib/content_security_policy/extension.rb

Constant Summary collapse

THEME_SETTING =
"extend_content_security_policy"

Instance Method Summary collapse

Instance Method Details

#clear_theme_extensions_cache!Object



25
26
27
# File 'lib/content_security_policy/extension.rb', line 25

def clear_theme_extensions_cache!
  cache.clear
end

#plugin_extensionsObject



10
11
12
13
14
15
16
# File 'lib/content_security_policy/extension.rb', line 10

def plugin_extensions
  [].tap do |extensions|
    Discourse.plugins.each do |plugin|
      extensions.concat(plugin.csp_extensions) if plugin.enabled?
    end
  end
end

#site_setting_extensionObject



6
7
8
# File 'lib/content_security_policy/extension.rb', line 6

def site_setting_extension
  { script_src: SiteSetting.content_security_policy_script_src.split("|") }
end

#theme_extensions(theme_id) ⇒ Object



20
21
22
23
# File 'lib/content_security_policy/extension.rb', line 20

def theme_extensions(theme_id)
  key = "theme_extensions_#{theme_id}"
  cache.defer_get_set(key) { find_theme_extensions(theme_id) }
end