--- - name: detect rvm profile stat: path=/etc/profile.d/rvm.sh register: rvm_profile - name: detect rvm installer stat: path={{ ruby_temp_download_path }}/rvm-installer.sh register: rvm_installer - name: detect current rvm version shell: "{{ ruby_rvm_install_path }}/bin/rvm version" register: rvm_current_version when: rvm_profile.stat.exists - name: detect stable rvm version uri: url={{ ruby_rvm_stable_version_number }} return_content=yes register: rvm_stable_version_number - name: ensure rvm installer is downloaded get_url: url: "{{ ruby_rvm_latest_installer }}" dest: "{{ ruby_temp_download_path }}/rvm-installer.sh" when: not rvm_installer.stat.exists or ruby_rvm_force_upgrade_installer - name: ensure rvm installer is configured file: path: "{{ ruby_temp_download_path }}/rvm-installer.sh" mode: 0755 when: not rvm_profile.stat.exists or ruby_rvm_force_upgrade_installer - name: ensure rvm stable is installed command: "{{ ruby_temp_download_path }}/rvm-installer.sh --path {{ ruby_rvm_install_path }} stable" when: not rvm_profile.stat.exists - name: ensure rvm is upgraded shell: "{{ ruby_rvm_install_path }}/bin/rvm get stable && {{ ruby_rvm_install_path }}/bin/rvm reload" when: not rvm_stable_version_number.content[:-1] in rvm_current_version.stdout and rvm_profile.stat.exists and not ruby_rvm_skip_upgrade - name: ensure rvm installs ruby dependencies command: "{{ ruby_rvm_install_path }}/bin/rvm autolibs 3" when: not rvm_profile.stat.exists - name: detect if ruby version is installed stat: path={{ ruby_rvm_install_path }}/rubies/ruby-{{ ruby_version }} register: installed_ruby_version - name: ensure ruby is installed command: "{{ ruby_rvm_install_path }}/bin/rvm install ruby-{{ ruby_version }}" when: not installed_ruby_version.stat.exists - name: detect default ruby version command: "{{ ruby_rvm_install_path }}/bin/rvm alias list default" register: ruby_selected - name: ensure default ruby is selected shell: source /etc/profile.d/rvm.sh && rvm use ruby-{{ ruby_version }} --default executable=/bin/bash when: ruby_selected.stdout == '' or ruby_version not in ruby_selected.stdout