Unbinder is used to take a dataset filter and return a
            modified version that unbinds already bound values and returns a dataset
            with bound value placeholders and a hash of bind values.  You can then
            prepare the dataset and use the bound variables to execute it with the same
            values.
This class only does a limited form of unbinding where the variable names
            and values can be associated unambiguously.  The only cases it handles are
            <tt>SQL::ComplexExpression<tt> with
            an operator in UNBIND_OPS, a first argument that’s an instance
            of a member of UNBIND_KEY_CLASSES, and a second argument
            that’s an instance of a member of UNBIND_VALUE_CLASSES.
So it can handle cases like:
DB.filter(:a=>1).exclude(:b=>2).where{c > 3}
But it cannot handle cases like:
DB.filter(:a + 1 < 0)
Constants
| UNBIND_KEY_CLASSES | = | [Symbol, SQL::Identifier, SQL::QualifiedIdentifier] | 
                      
                       The key classes (first argument of the ComplexExpression) that will considered for transformation.  | 
                  |
| UNBIND_OPS | = | [:'=', :'!=', :<, :>, :<=, :>=] | 
                      
                       The <tt>SQL::ComplexExpression<tt> operates that will be considered for transformation.  | 
                  |
| UNBIND_VALUE_CLASSES | = | [Numeric, String, Date, Time] | 
                      
                       The value classes (second argument of the ComplexExpression) that will be considered for transformation.  | 
                  
Attributes
| binds | [R] | 
                      
                       The hash of bind variables that were extracted from the dataset filter.  | 
                  
Public Class methods
Intialize an empty binds hash.
# File lib/sequel/ast_transformer.rb, line 152 def initialize @binds = {} end