Module: Cosmo::Utils::Json

Defined in:
lib/cosmo/utils/json.rb,
sig/cosmo/utils/json.rbs

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.dump(value, default: nil) ⇒ ::String?

Parameters:

  • value (Object)
  • default: (Object, nil) (defaults to: nil)

Returns:

  • (::String, nil)


16
17
18
19
20
# File 'lib/cosmo/utils/json.rb', line 16

def dump(value, default: nil)
  ::JSON.generate(value)
rescue TypeError, JSON::NestingError
  default
end

.parse(value, default: nil, symbolize_names: true, **options) ⇒ Object

Parameters:

  • value (::String)
  • default: (Object, nil) (defaults to: nil)
  • symbolize_names: (Boolean) (defaults to: true)
  • options (Object)

Returns:

  • (Object)


10
11
12
13
14
# File 'lib/cosmo/utils/json.rb', line 10

def parse(value, default: nil, symbolize_names: true, **options)
  JSON.parse(value, options.merge(symbolize_names:))
rescue TypeError, JSON::ParserError
  default
end

Instance Method Details

#dump(value, default: nil) ⇒ ::String?

Parameters:

  • value (Object)
  • default: (Object, nil) (defaults to: nil)

Returns:

  • (::String, nil)


16
17
18
19
20
# File 'lib/cosmo/utils/json.rb', line 16

def dump(value, default: nil)
  ::JSON.generate(value)
rescue TypeError, JSON::NestingError
  default
end

#parse(value, default: nil, symbolize_names: true, **options) ⇒ Object

Parameters:

  • value (::String)
  • default: (Object, nil) (defaults to: nil)
  • symbolize_names: (Boolean) (defaults to: true)
  • options (Object)

Returns:

  • (Object)


10
11
12
13
14
# File 'lib/cosmo/utils/json.rb', line 10

def parse(value, default: nil, symbolize_names: true, **options)
  JSON.parse(value, options.merge(symbolize_names:))
rescue TypeError, JSON::ParserError
  default
end