Class: ReactOnRails::JsonOutput
- Inherits:
-
Object
- Object
- ReactOnRails::JsonOutput
- Defined in:
- lib/react_on_rails/json_output.rb
Constant Summary collapse
- ESCAPE_REPLACEMENT =
{ "&" => '\u0026', ">" => '\u003e', "<" => '\u003c', "\u2028" => '\u2028', "\u2029" => '\u2029' }.freeze
- ESCAPE_REGEXP =
/[\u2028\u2029&><]/u.freeze
Class Method Summary collapse
Class Method Details
.escape(json) ⇒ Object
16 17 18 19 20 |
# File 'lib/react_on_rails/json_output.rb', line 16 def self.escape(json) return escape_without_erb_util(json) if Utils.rails_version_less_than_4_1_1 ERB::Util.json_escape(json) end |
.escape_without_erb_util(json) ⇒ Object
22 23 24 25 26 |
# File 'lib/react_on_rails/json_output.rb', line 22 def self.escape_without_erb_util(json) # https://github.com/rails/rails/blob/60257141462137331387d0e34931555cf0720886/activesupport/lib/active_support/core_ext/string/output_safety.rb#L113 json.to_s.gsub(ESCAPE_REGEXP, ESCAPE_REPLACEMENT) end |