Namespace
Methods
I
T
Class Public methods
included(modul)

Extends modul with the String::Extend module.

# File lib/json/pure/generator.rb, line 433
def self.included(modul)
  modul.extend Extend
end
Instance Public methods
to_json(state = nil, *args)

This string should be encoded with UTF-8 A call to this method returns a JSON string encoded with UTF16 big endian characters as u????.

# File lib/json/pure/generator.rb, line 394
def to_json(state = nil, *args)
  state = State.from_state(state)
  if encoding == ::Encoding::UTF_8
    string = self
  else
    string = encode(::Encoding::UTF_8)
  end
  if state.ascii_only?
    '"' << JSON.utf8_to_json_ascii(string) << '"'
  else
    '"' << JSON.utf8_to_json(string) << '"'
  end
end
to_json_raw(*args)

This method creates a JSON text from the result of a call to #to_json_raw_object of this String.

# File lib/json/pure/generator.rb, line 450
def to_json_raw(*args)
  to_json_raw_object.to_json(*args)
end
to_json_raw_object()

This method creates a raw object hash, that can be nested into other data structures and will be unparsed as a raw string. This method should be used, if you want to convert raw strings to JSON instead of UTF-8 strings, e. g. binary data.

# File lib/json/pure/generator.rb, line 441
def to_json_raw_object
  {
    JSON.create_id  => self.class.name,
    'raw'           => self.unpack('C*'),
  }
end