Active Record Arel DepthFirst Visitor
This gem re-introduces Arel code that was removed from Rails 6.1: https://github.com/rails/rails/pull/36492 . The code existed in the arel gem from 4.0.0 to 9.0.0, and the rails gem from 4.0.0 to 6.0.0.
It provides a DepthFirst visitor for Arel that allows you to traverse the Arel AST,
e.g. for visualizations.
Installation
Include this gem into your Gemfile:
gem 'activerecord-arel_depth_first'
Example
This visitor makes the Arel AST enumerable, so you can do a depth-first
iteration over it:
User.some_arbitrary_scope.arel.ast.each do |node|
case node
when Arel::Table
when Arel::Nodes::Equality
else
end
end
License
activerecord-arel_depth_first is released under the MIT License.