module Sequel::SQL::PatternMatchMethods

  1. lib/sequel/sql.rb

This module includes methods for overriding the =~ method for SQL equality, inclusion, and pattern matching. It returns the same result that Sequel would return when using a hash with a single entry, where the receiver was the key and the argument was the value. Example:

Sequel[:a] =~ 1 # (a = 1)
Sequel[:a] =~ [1, 2] # (a IN [1, 2])
Sequel[:a] =~ nil # (a IS NULL)

This also adds the !~ method, for easily setting up not equals, exclusion, and inverse pattern matching. This is the same as as inverting the result of the =~ method

Sequel[:a] !~ 1 # (a != 1)
Sequel[:a] !~ [1, 2] # (a NOT IN [1, 2])
Sequel[:a] !~ nil # (a IS NOT NULL)

Methods

Public Instance

  1. !~
  2. =~

Public Instance methods

!~(other)
[show source]
    # File lib/sequel/sql.rb
838 def !~(other)
839   ~(self =~ other)
840 end
=~(other)

Set up an equality, inclusion, or pattern match operation, based on the type of the argument.

[show source]
    # File lib/sequel/sql.rb
834 def =~(other)
835   BooleanExpression.send(:from_value_pair, self, other)
836 end