class Sqreen::Rules::Haml4ParserScriptHookCB

Hook into haml4 script parser

Public Class Methods

new(*args) click to toggle source
Calls superclass method Sqreen::Rules::RuleCB::new
# File lib/sqreen/rules/xss_cb.rb, line 116
def initialize(*args)
  super(*args)
  @overtimeable = false
end

Public Instance Methods

pre(_inst, args, _budget = nil, &_block) click to toggle source
# File lib/sqreen/rules/xss_cb.rb, line 121
def pre(_inst, args, _budget = nil, &_block)
  return unless args.size > 1
  return unless Haml::VERSION < '5'
  text = args[0]
  escape_html = args[1]
  if escape_html == false &&
     text.respond_to?(:include?) &&
     !text.include?('html_escape')
    if text.respond_to? :text=
      args[0].text = "Sqreen.escape_haml((#{args[0].text}))"
    else
      args[0].replace("Sqreen.escape_haml((#{args[0]}))")
    end
  end
  nil
end