Method: NoSE::KeyPath#split

Defined in:
lib/nose/statements.rb

#split(entity) ⇒ KeyPath

Split the path where it intersects the given entity

Returns:



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