Module: JSON::TruffleRuby::Generator::GeneratorMethods::String
- Defined in:
- lib/json/truffle_ruby/generator.rb
Defined Under Namespace
Modules: Extend
Class Method Summary collapse
-
.included(modul) ⇒ Object
Extends modul with the String::Extend module.
Instance Method Summary collapse
-
#to_json(state = nil, *args) ⇒ Object
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????.
-
#to_json_raw(*args) ⇒ Object
This method creates a JSON text from the result of a call to to_json_raw_object of this String.
-
#to_json_raw_object ⇒ Object
This method creates a raw object hash, that can be nested into other data structures and will be unparsed as a raw string.
Class Method Details
.included(modul) ⇒ Object
Extends modul with the String::Extend module.
651 652 653 |
# File 'lib/json/truffle_ruby/generator.rb', line 651 def self.included(modul) modul.extend Extend end |
Instance Method Details
#to_json(state = nil, *args) ⇒ Object
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????.
620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 |
# File 'lib/json/truffle_ruby/generator.rb', line 620 def to_json(state = nil, *args) state = State.from_state(state) if encoding == ::Encoding::UTF_8 unless valid_encoding? raise GeneratorError.new("source sequence is illegal/malformed utf-8", self) end string = self else string = encode(::Encoding::UTF_8) end if state.ascii_only? %("#{JSON::TruffleRuby::Generator.utf8_to_json_ascii(string, state.script_safe)}") else %("#{JSON::TruffleRuby::Generator.utf8_to_json(string, state.script_safe)}") end rescue Encoding::UndefinedConversionError => error raise ::JSON::GeneratorError.new(error., self) end |
#to_json_raw(*args) ⇒ Object
This method creates a JSON text from the result of a call to to_json_raw_object of this String.
668 669 670 |
# File 'lib/json/truffle_ruby/generator.rb', line 668 def to_json_raw(*args) to_json_raw_object.to_json(*args) end |
#to_json_raw_object ⇒ 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.
659 660 661 662 663 664 |
# File 'lib/json/truffle_ruby/generator.rb', line 659 def to_json_raw_object { JSON.create_id => self.class.name, 'raw' => self.unpack('C*'), } end |