Sha256: f6c5ef119184b7a88a2c07a8c486e59174592c9770bd9e113c8ccfbf60a1405b
Contents?: true
Size: 532 Bytes
Versions: 5
Compression:
Stored size: 532 Bytes
Contents
module Alf module Sql class Processor class Reorder < Processor def initialize(attr_list, builder) super(builder) @indexes = Hash[attr_list.to_a.map(&:to_s).each_with_index.to_a] end def on_select_list(sexpr) reordered = sexpr.sexpr_body.sort{|i1,i2| @indexes[i1.as_name] <=> @indexes[i2.as_name] } reordered.unshift(:select_list) end end # class Reorder end # class Processor end # module Sql end # module Alf
Version data entries
5 entries across 5 versions & 1 rubygems