Class: Zantetsuken::Ruleset::Base
- Inherits:
-
Object
- Object
- Zantetsuken::Ruleset::Base
- Extended by:
- ActiveModel::Callbacks
- Includes:
- ActiveModel::AttributeAssignment
- Defined in:
- lib/zantetsuken/ruleset/base.rb
Overview
Base class for rulesets. Defines the rules to be applied and the behavior for composing these rulesets into a single instance of ActionDispatch::ContentSecurityPolicy.
Instance Attribute Summary collapse
-
#base_uri ⇒ Object
Returns the value of attribute base_uri.
-
#child_src ⇒ Object
Returns the value of attribute child_src.
-
#connect_src ⇒ Object
Returns the value of attribute connect_src.
-
#default_src ⇒ Object
Returns the value of attribute default_src.
-
#font_src ⇒ Object
Returns the value of attribute font_src.
-
#form_action ⇒ Object
Returns the value of attribute form_action.
-
#frame_src ⇒ Object
Returns the value of attribute frame_src.
-
#img_src ⇒ Object
Returns the value of attribute img_src.
-
#media_src ⇒ Object
Returns the value of attribute media_src.
-
#object_src ⇒ Object
Returns the value of attribute object_src.
-
#report_uri ⇒ Object
Returns the value of attribute report_uri.
-
#script_src ⇒ Object
Returns the value of attribute script_src.
-
#style_src ⇒ Object
Returns the value of attribute style_src.
Class Method Summary collapse
Instance Method Summary collapse
- #add(ruleset) ⇒ Object
-
#initialize(**attributes) ⇒ Base
constructor
A new instance of Base.
- #load? ⇒ Boolean
- #to_actiondispatch_csp(policy) ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(**attributes) ⇒ Base
24 25 26 27 28 |
# File 'lib/zantetsuken/ruleset/base.rb', line 24 def initialize(**attributes) run_callbacks :initialize do assign_attributes(attributes) end end |
Instance Attribute Details
#base_uri ⇒ Object
Returns the value of attribute base_uri.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def base_uri @base_uri end |
#child_src ⇒ Object
Returns the value of attribute child_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def child_src @child_src end |
#connect_src ⇒ Object
Returns the value of attribute connect_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def connect_src @connect_src end |
#default_src ⇒ Object
Returns the value of attribute default_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def default_src @default_src end |
#font_src ⇒ Object
Returns the value of attribute font_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def font_src @font_src end |
#form_action ⇒ Object
Returns the value of attribute form_action.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def form_action @form_action end |
#frame_src ⇒ Object
Returns the value of attribute frame_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def frame_src @frame_src end |
#img_src ⇒ Object
Returns the value of attribute img_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def img_src @img_src end |
#media_src ⇒ Object
Returns the value of attribute media_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def media_src @media_src end |
#object_src ⇒ Object
Returns the value of attribute object_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def object_src @object_src end |
#report_uri ⇒ Object
Returns the value of attribute report_uri.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def report_uri @report_uri end |
#script_src ⇒ Object
Returns the value of attribute script_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def script_src @script_src end |
#style_src ⇒ Object
Returns the value of attribute style_src.
15 16 17 |
# File 'lib/zantetsuken/ruleset/base.rb', line 15 def style_src @style_src end |
Class Method Details
.ruleset(&block) ⇒ Object
19 20 21 |
# File 'lib/zantetsuken/ruleset/base.rb', line 19 def ruleset(&block) after_initialize(&block) end |
Instance Method Details
#add(ruleset) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# 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? ⇒ Boolean
50 51 52 |
# File 'lib/zantetsuken/ruleset/base.rb', line 50 def load? true end |
#to_actiondispatch_csp(policy) ⇒ Object
44 45 46 47 48 |
# 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 ⇒ Object
40 41 42 |
# File 'lib/zantetsuken/ruleset/base.rb', line 40 def to_h instance_values.symbolize_keys end |