Make finishers giftable please
+1000000 here. This would be awesome, even if its a buyer beware item and over buys are non-refundable.
De Mortuis Nil Nisi Bonum.
Anything that works as an account upgrade can’t be gifted — when you make your purchase, the gem shop database has no way to determine if the account to which you are gifting already has that upgrade.
So there would be no way to prevent you from spending a bunch of gems on something that your buddy already acquired. Your best bet is to send gold so your friend can purchase their own gems. Not as efficient, of course, but gets the job done.
You can also buy a gem card and send your friend the code, though that may be many more gems than needed for just one item.
Both your suggestions are good, but its like sending someone cash for a holiday versus a gift. It can achieve the same results, but its not the same at all. As I said I would be fine even if it was a buyer beware situation, no refunds will be offered in the case of a duplicate purchase.
De Mortuis Nil Nisi Bonum.