Skip to content

Commit

Permalink
Split apply into two steps
Browse files Browse the repository at this point in the history
  • Loading branch information
jnicklas committed Nov 1, 2012
1 parent 9c49462 commit 5affb3e
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions lib/ar_outer_join/join.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@ def initialize(klass)
@klass = klass
end

def apply(*args)
return klass if args.compact.blank?

args.inject(klass) do |scope, arg|
scope.joins(*JoinBuilder.new(klass.reflect_on_association(arg)).build)
def generate(*args)
args.compact.map do |arg|
JoinBuilder.new(klass.reflect_on_association(arg)).build
end
end

def apply(*args)
klass.joins(generate(*args))
end
end
end

0 comments on commit 5affb3e

Please sign in to comment.