Class: Zoom::SecurityProfile::UnsafeJs

Inherits:
Zoom::SecurityProfile show all
Defined in:
lib/zoom/profile/unsafe_js.rb

Instance Attribute Summary

Attributes inherited from Profile

#exts, #files, #format_flags, #regex, #taggable

Instance Method Summary collapse

Methods inherited from Zoom::SecurityProfile

#after, #before, #exe, #flags, #grep_like_format_flags, #only_exts_and_files, #preprocess, #tool, #translate

Methods inherited from Profile

#after, #before, #class_name, #exe, #flags, from_json, #grep_like_format_flags, #grep_like_tags?, #name, #only_exts_and_files, #preprocess, profile_by_name, subclasses, #to_s, #tool, #translate

Constructor Details

#initialize(n = nil, t = nil, f = nil, b = nil, a = nil) ⇒ UnsafeJs

Returns a new instance of UnsafeJs.



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/zoom/profile/unsafe_js.rb', line 2

def initialize(n = nil, t = nil, f = nil, b = nil, a = nil)
    t = Zoom::ProfileManager.default_tool

    super(n, t, f, b, a)
    @exts = ["js", "jsx", "vue"]
    @regex = [
        "\\.?",
        "(",
        [
            "(append|eval|html)\\(",
            "innerHTML\\s*="
        ].join("|"),
        ")",
        "\\s*($|([\"'][^\"']+[\"']\\s*\\+\\s*)?[^\"'; )]+)"
    ].join
end