Module: PSON::Pure::Generator::GeneratorMethods::String

Defined in:
lib/octocatalog-diff/external/pson/pure/generator.rb

Defined Under Namespace

Modules: Extend

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(modul) ⇒ Object

Extends modul with the String::Extend module.



355
356
357
# File 'lib/octocatalog-diff/external/pson/pure/generator.rb', line 355

def self.included(modul)
  modul.extend Extend
end

Instance Method Details

#to_psonObject

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



340
341
342
# File 'lib/octocatalog-diff/external/pson/pure/generator.rb', line 340

def to_pson(*)
  '"' << PSON.utf8_to_pson(self) << '"'
end

#to_pson_raw(*args) ⇒ Object

This method creates a PSON text from the result of a call to to_pson_raw_object of this String.



373
374
375
# File 'lib/octocatalog-diff/external/pson/pure/generator.rb', line 373

def to_pson_raw(*args)
  to_pson_raw_object.to_pson(*args)
end

#to_pson_raw_objectObject

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 PSON instead of UTF-8 strings, e.g. binary data.



363
364
365
366
367
368
369
# File 'lib/octocatalog-diff/external/pson/pure/generator.rb', line 363

def to_pson_raw_object
  # create_id will be ignored during deserialization
  {
    PSON.create_id  => self.class.name,
    'raw'           => self.unpack('C*'),
  }
end