Ansible 1.4からgemモジュールにexecutableオプションが追加されて、gemのパスを指定できるようになっています。
しかしrbenvを使ってインストールしたgemのパスを指定するだけだと、playbook実行時にはインストールされたかのように見えるけれども、インストールしたものをコマンドラインで実行しようとしたらパスが通ってないという事態に遭遇しました。
実はgemモジュールはデフォルトだとuser_installオプションがTrueになっていたために、gem install時に--user-intallオプションが追加されて、~/.rbenv/以下ではなく~/.gem/以下にインストールされていたというオチでした。
user_installをFalseに設定したら~/.rbenv/以下にインストールされるようになりました。
site.yml
- name: gem install bundler
gem: name=bundler executable=.rbenv/shims/gem user_install=False