Class: ActiveSupport::SafeBuffer
| Relationships & Source Files | |
| Namespace Children | |
| Exceptions: | |
| Extension / Inclusion / Inheritance Descendants | |
| Subclasses: 
          ActionView::OutputBuffer
         | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
           ::String | |
| Instance Chain: 
          self,
           ::String | |
| Inherits: | String | 
| Defined in: | activesupport/lib/active_support/core_ext/string/output_safety.rb | 
Constant Summary
- 
    UNSAFE_STRING_METHODS =
    
 # File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 164%w( capitalize chomp chop delete downcase gsub lstrip next reverse rstrip slice squeeze strip sub succ swapcase tr tr_s upcase )
::String - Inherited
  
Class Method Summary
- .new(str = "") ⇒ SafeBuffer constructor
Instance Attribute Summary
- #html_safe? ⇒ Boolean readonly
::String - Inherited
| #acts_like_string? | Enables more predictable duck-typing on String-like classes. | 
| #blank? | A string is blank if it’s empty or contains whitespaces only: | 
| #is_utf8? | Returns  | 
Instance Method Summary
- #%(args)
- #+(other)
- 
    
      #<<(value)  
    
    Alias for #concat. 
- #[](*args)
- #clone_empty
- #concat(value) (also: #<<)
- #encode_with(coder)
- #initialize_copy(other)
- #prepend(value)
- #safe_concat(value)
- #to_param
- #to_s
::String - Inherited
| #at | If you pass a single integer, returns a substring of one character at that position. | 
| #camelcase | Alias for String#camelize. | 
| #camelize | By default,  | 
| #classify | Creates a class name from a plural table name like  | 
| #constantize | 
 | 
| #dasherize | Replaces underscores with dashes in the string. | 
| #deconstantize | Removes the rightmost segment from the constant expression in the string. | 
| #demodulize | Removes the module part from the constant expression in the string. | 
| #ends_with?, | |
| #exclude? | The inverse of  | 
| #first | Returns the first character. | 
| #foreign_key | Creates a foreign key name from a class name. | 
| #from | Returns a substring from the given position to the end of the string. | 
| #html_safe | Marks a string as trusted safe. | 
| #humanize | Capitalizes the first word, turns underscores into spaces, and (by default)strips a trailing ‘_id’ if present. | 
| #in_time_zone | Converts String to a  | 
| #indent | Indents the lines in the receiver: | 
| #indent! | Same as  | 
| #inquiry | Wraps the current string in the  | 
| #last | Returns the last character of the string. | 
| #mb_chars | 
 | 
| #parameterize | Replaces special characters in a string so that it may be used as part of a ‘pretty’ URL. | 
| #pluralize | Returns the plural form of the word in the string. | 
| #remove | Returns a new string with all occurrences of the patterns removed. | 
| #remove! | Alters the string by removing all occurrences of the patterns. | 
| #safe_constantize | 
 | 
| #singularize | The reverse of  | 
| #squish | Returns the string, first removing all whitespace on both ends of the string, and then changing remaining consecutive whitespace groups into one space each. | 
| #squish! | Performs a destructive squish. | 
| #starts_with?, | |
| #strip_heredoc | Strips indentation in heredocs. | 
| #tableize | Creates the name of a table like  | 
| #titlecase | Alias for String#titleize. | 
| #titleize | Capitalizes all the words and replaces some characters in the string to create a nicer looking title. | 
| #to | Returns a substring from the beginning of the string to the given position. | 
| #to_date | Converts a string to a  | 
| #to_datetime | Converts a string to a  | 
| #to_time | Converts a string to a  | 
| #truncate | Truncates a given  | 
| #truncate_words | Truncates a given  | 
| #underscore | The reverse of  | 
| #upcase_first | Converts just the first character to uppercase. | 
Constructor Details
    .new(str = "")  ⇒ SafeBuffer 
  
# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 200
def initialize(str = "") @html_safe = true super end
Instance Attribute Details
    #html_safe?  ⇒ Boolean  (readonly)
  
  [ GitHub ]
# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 238
def html_safe? defined?(@html_safe) && @html_safe end
Instance Method Details
#%(args)
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 227
def %(args) case args when Hash escaped_args = Hash[args.map { |k, arg| [k, html_escape_interpolated_argument(arg)] }] else escaped_args = Array(args).map { |arg| html_escape_interpolated_argument(arg) } end self.class.new(super(escaped_args)) end
#+(other)
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 223
def +(other) dup.concat(other) end
#<<(value)
Alias for #concat.
# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 217
alias << concat
#[](*args)
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 179
def [](*args) if args.size < 2 super elsif html_safe? new_safe_buffer = super if new_safe_buffer new_safe_buffer.instance_variable_set :@html_safe, true end new_safe_buffer else to_str[*args] end end
#clone_empty
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 210
def clone_empty self[0, 0] end
#concat(value) Also known as: #<<
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 214
def concat(value) super(html_escape_interpolated_argument(value)) end
#encode_with(coder)
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 250
def encode_with(coder) coder.represent_object nil, to_str end
#initialize_copy(other)
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 205
def initialize_copy(other) super @html_safe = other.html_safe? end
#prepend(value)
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 219
def prepend(value) super(html_escape_interpolated_argument(value)) end
#safe_concat(value)
# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 195
def safe_concat(value) raise SafeConcatError unless html_safe? original_concat(value) end
#to_param
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 246
def to_param to_str end
#to_s
[ GitHub ]# File 'activesupport/lib/active_support/core_ext/string/output_safety.rb', line 242
def to_s self end