Method: NoSE::KeyPath#split
- Defined in:
- lib/nose/statements.rb
#split(entity) ⇒ KeyPath
Split the path where it intersects the given entity
206 207 208 209 210 211 212 213 214 215 216 217 |
# File 'lib/nose/statements.rb', line 206 def split(entity) if first.parent == entity query_keys = KeyPath.new([entity.id_field]) else query_keys = [] each do |key| query_keys << key break if key.is_a?(Fields::ForeignKeyField) && key.entity == entity end query_keys = KeyPath.new(query_keys) end end |