BabySqueel v1.0.0 Release Notes

Release Date: 2016-09-09 // over 7 years ago
  • ➕ Added

    • Polyamorous. Unfortunately, this does monkey-patch Active Record internals, but there just isn't any other reliable way to generate outer joins. Baby Squeel, itself, will still keep monkey patching to an absolute minimum.
    • Within DSL blocks, you can use exists and not_exists with Active Record relations. For example: Post.where.has { exists Post.where(title: 'Fun') }.`
    • 👌 Support for polymorphic associations.

    🗄 Deprecations

    • ✂ Removed support for Active Record 4.0.x

    🔄 Changed

    • BabySqueel::JoinDependency is no longer a class responsible for creating Arel joins. It is now a namespace for utilities used when working with the ActiveRecord::Association::JoinDependency class.
    • BabySqueel::Nodes::Generic is now BabySqueel::Nodes::Node.
    • Arel nodes are only extended with the behaviors they need. Previously, all Arel nodes were being extended with Arel::AliasPredication, Arel::OrderPredications, and Arel::Math.

    🛠 Fixed

    • 🛠 Fixed deprecation warnings on Active Record 5 when initializing an Arel::Table without a type caster.
    • 👷 No more duplicate joins. Previously, Baby Squeel did a very poor job of ensuring that you didn't join an association twice.
    • Alias detection should now actually work. The previous implementation was naive.