./lib/ambition/order.rb in ambition-0.1.1 vs ./lib/ambition/order.rb in ambition-0.1.2

- old
+ new

@@ -1,17 +1,18 @@ module Ambition module Order def sort_by(&block) - query_context.add OrderProcessor.new(table_name, block) + query_context.add OrderProcessor.new(self, block) end end class OrderProcessor < Processor - def initialize(table_name, block) + def initialize(owner, block) super() @receiver = nil - @table_name = table_name + @owner = owner + @table_name = owner.table_name @block = block @key = :order end ## @@ -43,10 +44,10 @@ when :-@ "#{process(receiver)} DESC" when :__send__ "#{@table_name}.#{eval('to_s', @block)}" else - "#{@table_name}.#{method}" + extract_includes(receiver, method) || "#{@table_name}.#{method}" end end end end