• S
    Remove `klass` and `arel_table` as a dependency of `PredicateBuilder` · a60770d3
    Sean Griffin 提交于
    This class cares far too much about the internals of other parts of
    Active Record. This is an attempt to break out a meaningful object which
    represents the needs of the predicate builder. I'm not fully satisfied
    with the name, but the general concept is an object which represents a
    table, the associations to/from that table, and the types associated
    with it. Many of these exist at the `ActiveRecord::Base` class level,
    not as properties of the table itself, hence the need for another
    object. Currently it provides these by holding a reference to the class,
    but that will likely change in the future. This allows the predicate
    builder to remain wholy concerned with building predicates.
    
    /cc @mrgilman
    a60770d3
core.rb 19.3 KB