method
encode_range
v8.1.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQL::Quoting
encode_range(range)public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/postgresql/quoting.rb, line 207
def encode_range(range)
lower_bound = type_cast_range_value(range.begin)
upper_bound = if date_or_time_range?(range)
# Postgres will convert `[today,]` to `[today,)`, making it exclusive.
# We can use the special timestamp value `infinity` to force inclusion.
# https://www.postgresql.org/docs/current/rangetypes.html#RANGETYPES-INFINITE
range.end.nil? ? "infinity" : type_cast(range.end)
else
type_cast_range_value(range.end)
end
"[#{lower_bound},#{upper_bound}#{range.exclude_end? ? ')' : ']'}"
end