Module: Believer::CqlHelper
- Included in:
- Insert, Update, WhereClause
- Defined in:
- lib/believer/cql_helper.rb
Overview
Contains various methods for dealing with CQL statements
Constant Summary collapse
- CQL_TIMESTAMP_FORMAT =
'%Y-%m-%d %H:%M:%S%z'
Instance Method Summary collapse
-
#to_cql_literal(value) ⇒ Object
Converts a value to a CQL literal.
Instance Method Details
#to_cql_literal(value) ⇒ Object
Converts a value to a CQL literal
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/believer/cql_helper.rb', line 12 def to_cql_literal(value) return 'NULL' if value.nil? return "'#{value}'" if value.is_a?(String) return "'#{value}'" if value.is_a?(Symbol) return "#{value}" if value.is_a?(Numeric) return "'#{value.strftime(CQL_TIMESTAMP_FORMAT)}'" if value.is_a?(Time) || value.is_a?(DateTime) #return "#{value.to_i * 1000}" if value.is_a?(Time) || value.is_a?(DateTime) if value.is_a?(Counter) end # Set if value.is_a?(Set) return "{#{value.map {|v| to_cql_literal(v)}.join(',')}}" end # Map if value.is_a?(Hash) keys = value.keys return "{#{keys.map {|k| "#{to_cql_literal(k)} : #{to_cql_literal(value[k])}" }.join(',')} }" end # List return "[#{value.map {|v| to_cql_literal(v)}.join(',')}]" if value.is_a?(Array) return nil end |