Module: ROM::SQL::Postgres::Types::LTreeMethods

Defined in:
lib/rom/sql/extensions/postgres/types/ltree.rb

Constant Summary collapse

ASCENDANT =
["(".freeze, " @> ".freeze, ")".freeze].freeze
FIND_ASCENDANT =
["(".freeze, " ?@> ".freeze, ")".freeze].freeze
DESCENDANT =
["(".freeze, " <@ ".freeze, ")".freeze].freeze
FIND_DESCENDANT =
["(".freeze, " ?<@ ".freeze, ")".freeze].freeze
MATCH_ANY =
["(".freeze, " ? ".freeze, ")".freeze].freeze
MATCH_ANY_LQUERY =
["(".freeze, " ?~ ".freeze, ")".freeze].freeze
MATCH_LTEXTQUERY =
["(".freeze, " @ ".freeze, ")".freeze].freeze
MATCH_ANY_LTEXTQUERY =
["(".freeze, " ?@ ".freeze, ")".freeze].freeze

Instance Method Summary collapse

Instance Method Details

#match(type, expr, query) ⇒ Object



234
235
236
# File 'lib/rom/sql/extensions/postgres/types/ltree.rb', line 234

def match(type, expr, query)
  Attribute[SQL::Types::Bool].meta(sql_expr: Sequel::SQL::BooleanExpression.new(:'~', expr, query))
end

#match_any(type, expr, query) ⇒ Object



238
239
240
241
# File 'lib/rom/sql/extensions/postgres/types/ltree.rb', line 238

def match_any(type, expr, query)
  array = build_array_query(query)
  Attribute[SQL::Types::Bool].meta(sql_expr: custom_operator_expr(MATCH_ANY, expr, array))
end