Method: ThroughHierarchy::Hierarchicals::Hierarchical#hierarchy_rank

Defined in:
lib/through_hierarchy/hierarchicals/hierarchical.rb

#hierarchy_rankObject

Sort order for hierarchy shadowing queries



59
60
61
62
63
64
65
66
67
# File 'lib/through_hierarchy/hierarchicals/hierarchical.rb', line 59

def hierarchy_rank
  Arel.sql(
    "CASE `#{@source.name}`.`#{foreign_type_name}` " +
    hierarchy_models.map.with_index do |model, ii|
      "WHEN #{ThroughHierarchy::RailsUtils.sanitize_sql(model.base_class.to_s)} THEN #{ii} "
    end.join +
    "END"
  )
end