Hi,
i was wondering whether there was a better way to write something in
this type of format:
def foo
if x
somefunction
…find(:all, :conditions => a + b + c + d)
else
samefunction
…find(:all, :conditions => a + b + c)
end
end
into something a lot shorter like:
def foo
somefunction
find(:all, :condtions => a + b + c, :with_exclusive_scope?? => d )
end
or something with that kind of edge…
is there some railsy thing like this?
thanks in advance
question <rails-mailing-list@…> writes:
…find(:all, :conditions => a + b + c)
end
end
into something a lot shorter like:
def foo
somefunction
find(:all, :condtions => a + b + c, :with_exclusive_scope?? => d )
end
I wrote a class a couple of days ago for just this kind of thing:
http://pastie.caboo.se/12591
use it like:
def foo
conditions = Conditions.new
conditions << [“a = ?”, a]
conditions << [“b = ?”, b]
conditions << [“c = ?”, c]
conditions << [“d = ?”, d] if x
find(:all, :conditions => conditions)
end
Gareth
very very cool…thanks!
sure i’ll put this to good use. . .
thx
Of course, there’s always pre-generation:
def foo
conditions = a + b + c
conditions += d if x
somefuction
find(:all, :conditions => conditions)
end
Jason