Class: String

Inherits:
Object show all
Includes:
ActiveSupport::CoreExtensions::String::Access, ActiveSupport::CoreExtensions::String::Conversions, ActiveSupport::CoreExtensions::String::Inflections, ActiveSupport::CoreExtensions::String::Iterators, ActiveSupport::CoreExtensions::String::StartsEndsWith, ActiveSupport::CoreExtensions::String::Unicode
Defined in:
lib/active_support/core_ext/blank.rb,
lib/active_support/core_ext/string.rb,
lib/active_support/json/encoders/string.rb,
lib/active_support/vendor/builder-2.1.2/builder/xchar.rb

Overview

Enhance the String class with a XML escaped character version of to_s.

Direct Known Subclasses

ActiveSupport::JSON::Variable

Instance Method Summary collapse

Methods included from ActiveSupport::CoreExtensions::String::Unicode

#chars, #is_utf8?

Methods included from ActiveSupport::CoreExtensions::String::Iterators

#each_char

Methods included from ActiveSupport::CoreExtensions::String::StartsEndsWith

included

Methods included from ActiveSupport::CoreExtensions::String::Inflections

#camelize, #classify, #constantize, #dasherize, #demodulize, #foreign_key, #humanize, #pluralize, #singularize, #tableize, #titleize, #underscore

Methods included from ActiveSupport::CoreExtensions::String::Conversions

#ord, #to_date, #to_datetime, #to_time

Methods included from ActiveSupport::CoreExtensions::String::Access

#at, #first, #from, #last, #to

Instance Method Details

#blank?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/active_support/core_ext/blank.rb', line 41

def blank?
  self !~ /\S/
end

#to_json(options = nil) ⇒ Object

:nodoc:



21
22
23
24
25
26
27
28
29
# File 'lib/active_support/json/encoders/string.rb', line 21

def to_json(options = nil) #:nodoc:
  '"' + gsub(/[\010\f\n\r\t"\\><&]/) { |s|
    ActiveSupport::JSON::Encoding::ESCAPED_CHARS[s]
  }.gsub(/([\xC0-\xDF][\x80-\xBF]|
           [\xE0-\xEF][\x80-\xBF]{2}|
           [\xF0-\xF7][\x80-\xBF]{3})+/nx) { |s|
    s.unpack("U*").pack("n*").unpack("H*")[0].gsub(/.{4}/, '\\\\u\&')
  } + '"'
end

#to_xsObject

XML escaped version of to_s



110
111
112
113
114
# File 'lib/active_support/vendor/builder-2.1.2/builder/xchar.rb', line 110

def to_xs
  unpack('U*').map {|n| n.xchr}.join # ASCII, UTF-8
rescue
  unpack('C*').map {|n| n.xchr}.join # ISO-8859-1, WIN-1252
end