Module: CSPUtil
- Defined in:
- lib/csp_util/errors.rb,
lib/csp_util/version.rb,
lib/csp_util/directive.rb,
lib/csp_util/directives.rb
Defined Under Namespace
Classes: CSPUtilError, Directive, DirectiveError, DirectiveNameDeprecated, DirectiveNameUnknown, DuplicateDirective
Constant Summary
collapse
- VERSION =
'1.2.0'
Class Method Summary
collapse
Class Method Details
.add_to_directives(directives, directive) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/csp_util/directives.rb', line 9
def add_to_directives(directives, directive)
directives.each do |d|
if d.same_name?(directive)
d.add_value(directive.value)
return directives
end
end
return directives << directive
end
|
.delete_from_directives(directives, directive) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/csp_util/directives.rb', line 22
def delete_from_directives(directives, directive)
directives.each do |d|
if d.same_name?(directive)
d.value = d.value - directive.value
break
end
end
directives.reject! do |d|
d.value.size == 0
end
return directives
end
|
.join_directives(directives) ⇒ Object
5
6
7
|
# File 'lib/csp_util/directives.rb', line 5
def join_directives(directives)
directives.map(&:to_s).join('; ')
end
|
.parse_directives(serialized_policy) ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/csp_util/directives.rb', line 37
def parse_directives(serialized_policy)
tokens = serialized_policy.split(';')
tokens.each_with_object([]) do |token, directives|
token.strip!
next if token.empty?
directive = Directive.new
directive.parse!(token)
validate_uniqueness!(directive, directives)
directives << directive
end
end
|