Class: DataDrain::Types::JsonType

Inherits:
ActiveModel::Type::Value
  • Object
show all
Defined in:
lib/data_drain/types/json_type.rb

Overview

Tipo personalizado para ActiveModel que maneja la conversión de cadenas JSON de DuckDB hacia Hashes de Ruby.

Instance Method Summary collapse

Instance Method Details

#cast(value) ⇒ Hash, ...

Parameters:

  • value (String, Hash, Array, nil)

Returns:

  • (Hash, Array, String, nil)


12
13
14
15
16
17
18
19
20
# File 'lib/data_drain/types/json_type.rb', line 12

def cast(value)
  return value if value.is_a?(Hash) || value.is_a?(Array) || value.nil?

  begin
    JSON.parse(value.to_s)
  rescue JSON::ParserError
    value
  end
end