DataMapper обеспечивает удобный способ создать новую запись, когда ни один не существует, или обновите существующий? Я ничего не мог найти в документации API.
Это - то, что я имею в данный момент, который не кажется очень изящным:
foo = Foo.get(id)
if foo.nil?
foo = Foo.create(#attributes...)
else
foo.update(#attributes...)
end
foo.save
Foo.first_or_create(:id=>id).update(attributes)
или
(Foo.get(id) || Foo.new).update(attributes)