# module JSON::Pure::Generator::GeneratorMethods::String

### Public Class Methods

included(modul) click to toggle source

Extends modul with the String::Extend module.

    # File lib/json/pure/generator.rb, line 491
    def self.included(modul)
      modul.extend Extend
    end

### Public Instance Methods

to_json(state = nil, *args) click to toggle source

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 452
    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) click to toggle source

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 508
    def to_json_raw(*args)
      to_json_raw_object.to_json(*args)
    end

to_json_raw_object() click to toggle source

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 499
    def to_json_raw_object
      {
        JSON.create_id  => self.class.name,
        'raw'           => self.unpack('C*'),
      }
    end