class MultiTenant::Context
Attributes
arel_node[R]
handled_relations[R]
known_relations[R]
Public Class Methods
new(arel_node)
click to toggle source
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 31 def initialize(arel_node) @arel_node = arel_node @known_relations = [] @handled_relations = [] @discovering = false end
Public Instance Methods
discover_relations() { || ... }
click to toggle source
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 38 def discover_relations old_discovering = @discovering @discovering = true yield @discovering = old_discovering end
unhandled_relations()
click to toggle source
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 54 def unhandled_relations known_relations.uniq - handled_relations end
visited_handled_relation(relation)
click to toggle source
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 50 def visited_handled_relation(relation) @handled_relations << Table.new(relation) end
visited_relation(relation)
click to toggle source
# File lib/activerecord-multi-tenant/query_rewriter.rb, line 45 def visited_relation(relation) return unless @discovering @known_relations << Table.new(relation) end