--- - name: detect rvm binary stat: path='{{ rvm1 }}' register: rvm_binary - name: detect rvm installer stat: path='{{ rvm1_temp_download_path }}/rvm-installer.sh' register: rvm_installer - name: detect current rvm version command: '{{ rvm1 }} version' changed_when: false register: rvm_current_version when: rvm_binary.stat.exists - name: detect stable rvm version from url uri: url='{{ rvm1_rvm_stable_version_number }}' return_content=yes register: rvm_stable_version_number when: '"://" in rvm1_rvm_stable_version_number' - name: ensure rvm installer is copied from url get_url: url: '{{ rvm1_rvm_latest_installer }}' dest: '{{ rvm1_temp_download_path }}/rvm-installer.sh' when: '"://" in rvm1_rvm_latest_installer and not rvm_installer.stat.exists or rvm1_rvm_force_upgrade_installer' - name: ensure rvm installer is copied from local file copy: src='{{ rvm1_rvm_latest_installer }}' dest='{{ rvm1_temp_download_path }}/rvm-installer.sh' when: not '://' in rvm1_rvm_latest_installer and not rvm_installer.stat.exists or rvm1_rvm_force_upgrade_installer - name: ensure rvm installer is configured file: path: "{{ rvm1_temp_download_path }}/rvm-installer.sh" mode: 0755 when: not rvm_binary.stat.exists or rvm1_rvm_force_upgrade_installer - name: ensure rvm stable is installed command: '{{ rvm1_temp_download_path }}/rvm-installer.sh --path {{ rvm1_install_path }} stable' when: not rvm_binary.stat.exists - name: ensure rvm is upgraded shell: '{{ rvm1 }} get stable && {{ rvm1 }} reload' when: rvm_binary.stat.exists and rvm_stable_version_number.content | default(rvm1_rvm_stable_version_number) | replace('\n', '') > rvm_current_version.stdout.split()[1] - name: ensure rvm installs ruby dependencies command: '{{ rvm1 }} autolibs 3' when: not rvm_binary.stat.exists