class EscapeUriString
Constants
- RESERVED_CHARACTERS
Public Class Methods
new(string)
click to toggle source
# File lib/escape_uri_string.rb, line 11 def initialize(string) @string = string validate end
Public Instance Methods
escape()
click to toggle source
# File lib/escape_uri_string.rb, line 16 def escape escaped = escape_uri(@string) || escape_uri(@string.force_encoding(Encoding::UTF_8)) unless escaped fail ArgumentError, "Unable to escape string: #{@string}" end escaped end
Private Instance Methods
escape_uri(string)
click to toggle source
# File lib/escape_uri_string.rb, line 44 def escape_uri(string) begin URI::escape(string.to_s, RESERVED_CHARACTERS) rescue ArgumentError rescue end end
validate()
click to toggle source
# File lib/escape_uri_string.rb, line 28 def validate # true/false can be converted to it's string form clearly if @string.kind_of?(TrueClass) || @string.kind_of?(FalseClass) return true end # we shouldn't deal with arrays, hashes and e.g. unless @string.kind_of?(String) fail ArgumentError, 'Attempt to escape non-string' end if @string.nil? || @string.empty? fail ArgumentError, 'Attempt to escape empty string' end end