class Zantetsuken::Ruleset::Base

Base class for rulesets. Defines the rules to be applied and the behavior for composing these rulesets into a single instance of ActionDispatch::ContentSecurityPolicy.

Attributes

base_uri[RW]
child_src[RW]
connect_src[RW]
default_src[RW]
font_src[RW]
form_action[RW]
frame_src[RW]
img_src[RW]
media_src[RW]
object_src[RW]
report_uri[RW]
script_src[RW]
style_src[RW]

Public Class Methods

new(**attributes) click to toggle source
# File lib/zantetsuken/ruleset/base.rb, line 24
def initialize(**attributes)
  run_callbacks :initialize do
    assign_attributes(attributes)
  end
end
ruleset(&block) click to toggle source
# File lib/zantetsuken/ruleset/base.rb, line 19
def ruleset(&block)
  after_initialize(&block)
end

Public Instance Methods

add(ruleset) click to toggle source
# File lib/zantetsuken/ruleset/base.rb, line 30
def add(ruleset)
  tap do
    assign_attributes(
      to_h.merge(ruleset.to_h) do |_, existing_rules, new_rules|
        Array.wrap(existing_rules) | Array.wrap(new_rules)
      end
    )
  end
end
load?() click to toggle source
# File lib/zantetsuken/ruleset/base.rb, line 50
def load?
  true
end
to_actiondispatch_csp(policy) click to toggle source
# File lib/zantetsuken/ruleset/base.rb, line 44
def to_actiondispatch_csp(policy)
  instance_values.each do |rule_name, attribute|
    policy.public_send(rule_name, *attribute)
  end
end
to_h() click to toggle source
# File lib/zantetsuken/ruleset/base.rb, line 40
def to_h
  instance_values.symbolize_keys
end