Sha256: 709b6d6a56325e29eba88de359bee0a1d692254ef8be00416085af303c87d4eb

Contents?: true

Size: 675 Bytes

Versions: 3

Compression:

Stored size: 675 Bytes

Contents

# Use module_eval so we crash when ERB::Util has not yet been loaded.
ERB::Util.module_eval do

  def html_escape_with_escaping_angular_expressions(s)
    s = s.to_s
    if s.html_safe?
      s
    else
      html_escape_without_escaping_angular_expressions(AngularXss::Escaper.escape(s))
    end
  end

  alias_method_chain :html_escape, :escaping_angular_expressions

  # Aliasing twice issues a warning "discarding old...". Remove first to avoid it.
  remove_method(:h)
  alias h html_escape

  module_function :h

  singleton_class.send(:remove_method, :html_escape)
  module_function :html_escape
  module_function :html_escape_without_escaping_angular_expressions

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
angular_xss-0.2.1 lib/angular_xss/erb.rb
angular_xss-0.2.0 lib/angular_xss/erb.rb
angular_xss-0.1.0 lib/angular_xss/erb.rb