Reputation: 8606
How can I save myself from typing
TypeOfVoyagePortActivity.find_by_description(activity_description)
twice?
This is the context I am using it in:
if TypeOfVoyagePortActivity.find_by_description(activity_description)
pl.activity = TypeOfVoyagePortActivity.find_by_description(activity_description)
else
pl.activity = TypeOfVoyagePortActivity.find_by_description("Custom")
end
Upvotes: 0
Views: 94
Reputation: 230461
You could assign result of find_by_description
to a variable
if t = TypeOfVoyagePortActivity.find_by_description(activity_description)
pl.activity = t
else
pl.activity = TypeOfVoyagePortActivity.find_by_description("Custom")
end
Or as a better alternative:
p1.activity = [activity_description, "Custom"].each_with_object(nil) do |a, memo|
memo ||= TypeOfVoyagePortActivity.find_by_description(a)
end
Upvotes: 1
Reputation:
model = TypeOfVoyagePortActivity
pl.activity = model.find_by_description(activity_description) ||
model.find_by_description("Custom")
Upvotes: 5