Module: Escape::StringEscape
- Defined in:
- lib/repla/lib/escape.rb
Overview
Escaping strings
Class Method Summary collapse
-
.javascript_escape(string) ⇒ Object
TODO:
self.javascript_escapeandself.shell_escapeshould be private, but instance methods can’t call private class methods in Ruby? Or can they this only fails when the code imported into thegem?. - .shell_escape(string) ⇒ Object
Instance Method Summary collapse
- #float? ⇒ Boolean
- #integer? ⇒ Boolean
- #javascript_argument ⇒ Object
- #javascript_escape ⇒ Object
- #javascript_escape! ⇒ Object
- #shell_escape ⇒ Object
- #shell_escape! ⇒ Object
Class Method Details
.javascript_escape(string) ⇒ Object
TODO: self.javascript_escape and self.shell_escape should be private, but instance methods can’t call private class methods in Ruby? Or can they this only fails when the code imported into the gem?
54 55 56 57 58 59 60 61 |
# File 'lib/repla/lib/escape.rb', line 54 def self.javascript_escape(string) # string.gsub('\\', '\\\\\\\\').gsub("\n", '\\\\n').gsub("'", "\\\\'") # Combined as one command, comparable in speed: string.gsub(/\\\\|\n|'/, '\\\\' => '\\\\\\\\', "\n" => '\\n', "'" => '\\\'') end |
.shell_escape(string) ⇒ Object
63 64 65 |
# File 'lib/repla/lib/escape.rb', line 63 def self.shell_escape(string) Shellwords.escape(string) end |
Instance Method Details
#float? ⇒ Boolean
32 33 34 35 36 |
# File 'lib/repla/lib/escape.rb', line 32 def float? true if Float(self) rescue StandardError false end |
#integer? ⇒ Boolean
38 39 40 |
# File 'lib/repla/lib/escape.rb', line 38 def integer? to_i.to_s == self end |
#javascript_argument ⇒ Object
20 21 22 |
# File 'lib/repla/lib/escape.rb', line 20 def javascript_argument "'#{StringEscape.javascript_escape(self)}'" end |
#javascript_escape ⇒ Object
24 25 26 |
# File 'lib/repla/lib/escape.rb', line 24 def javascript_escape StringEscape.javascript_escape(self) end |
#javascript_escape! ⇒ Object
28 29 30 |
# File 'lib/repla/lib/escape.rb', line 28 def javascript_escape! replace(StringEscape.javascript_escape(self)) end |
#shell_escape ⇒ Object
42 43 44 |
# File 'lib/repla/lib/escape.rb', line 42 def shell_escape StringEscape.shell_escape(self) end |
#shell_escape! ⇒ Object
46 47 48 |
# File 'lib/repla/lib/escape.rb', line 46 def shell_escape! replace(StringEscape.shell_escape(self)) end |