Module: ClickhouseRuby::Types::NullSafe
Overview
Provides automatic null handling for type classes
When included, wraps cast, deserialize, and serialize methods to handle nil values automatically. Subclasses implement cast_value, deserialize_value, and serialize_value instead.
Instance Method Summary collapse
-
#cast(value) ⇒ Object?
Converts a Ruby value, returning nil for nil input.
-
#deserialize(value) ⇒ Object?
Deserializes a value from ClickHouse, returning nil for nil input.
-
#serialize(value) ⇒ String
Serializes a value for ClickHouse, returning “NULL” for nil input.
Instance Method Details
#cast(value) ⇒ Object?
Converts a Ruby value, returning nil for nil input
28 29 30 31 32 |
# File 'lib/clickhouse_ruby/types/null_safe.rb', line 28 def cast(value) return nil if value.nil? cast_value(value) end |
#deserialize(value) ⇒ Object?
Deserializes a value from ClickHouse, returning nil for nil input
38 39 40 41 42 |
# File 'lib/clickhouse_ruby/types/null_safe.rb', line 38 def deserialize(value) return nil if value.nil? deserialize_value(value) end |
#serialize(value) ⇒ String
Serializes a value for ClickHouse, returning “NULL” for nil input
48 49 50 51 52 |
# File 'lib/clickhouse_ruby/types/null_safe.rb', line 48 def serialize(value) return "NULL" if value.nil? serialize_value(value) end |