Method: MotionPrime::JSON.generate

Defined in:
motion-prime/models/json.rb

.generate(obj, parametrize = true) ⇒ String

Generates a string from data structure.

Parameters:

  • obj (String, Fixnum, Array, Hash, Nil)

    the object to serialize.

  • parametrize (Boolean) (defaults to: true)

    option to parametrize data before serialization.

Returns:

  • (String)

    the serialized data json.



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'motion-prime/models/json.rb', line 30

def self.generate(obj, parametrize = true)
  if parametrize && obj.is_a?(Hash)
    obj.each do |key, value|
      obj[key] = value.to_s if PARAMETRIZE_CLASSES.include?(value.class)
    end
  end
  if parametrize && obj.is_a?(Array)
    obj.map! do |value|
      PARAMETRIZE_CLASSES.include?(value.class) ? value.to_s : value
    end
  end
  data = NSJSONSerialization.dataWithJSONObject(obj, options: 0, error: nil)
  data.to_str
end