Expose popular ruby paths and refactor a bit

This commit is contained in:
Nick Janetakis
2014-07-01 06:50:17 -04:00
parent a9d4d05d4c
commit df64aefbac
6 changed files with 74 additions and 43 deletions

View File

@@ -1,64 +1,64 @@
---
- name: detect rvm binary
stat: path={{ ruby_rvm_install_path }}/bin/rvm
stat: path='{{ ruby_rvm }}'
register: rvm_binary
- name: detect rvm installer
stat: path={{ ruby_temp_download_path }}/rvm-installer.sh
stat: path='{{ ruby_rvm_temp_download_path }}/rvm-installer.sh'
register: rvm_installer
- name: detect current rvm version
command: "{{ ruby_rvm_install_path }}/bin/rvm version"
command: '{{ ruby_rvm }} version'
changed_when: false
register: rvm_current_version
when: rvm_binary.stat.exists
- name: detect stable rvm version from url
uri: url={{ ruby_rvm_stable_version_number }} return_content=yes
uri: url='{{ ruby_rvm_stable_version_number }} return_content=yes'
register: rvm_stable_version_number
when: "'://' in ruby_rvm_stable_version_number"
when: '"://" in ruby_rvm_stable_version_number'
- name: ensure rvm installer is copied from url
get_url:
url: "{{ ruby_rvm_latest_installer }}"
dest: "{{ ruby_temp_download_path }}/rvm-installer.sh"
when: "'://' in ruby_rvm_latest_installer and not rvm_installer.stat.exists or ruby_rvm_force_upgrade_installer"
url: '{{ ruby_rvm_latest_installer }}'
dest: '{{ ruby_rvm_temp_download_path }}/rvm-installer.sh'
when: '"://" in ruby_rvm_latest_installer and not rvm_installer.stat.exists or ruby_rvm_force_upgrade_installer'
- name: ensure rvm installer is copied from local file
copy: src="{{ ruby_rvm_latest_installer }}" dest="{{ ruby_temp_download_path }}/rvm-installer.sh"
when: not "://" in ruby_rvm_latest_installer and not rvm_installer.stat.exists or ruby_rvm_force_upgrade_installer
copy: src='{{ ruby_rvm_latest_installer }}' dest='{{ ruby_rvm_temp_download_path }}/rvm-installer.sh'
when: not '://' in ruby_rvm_latest_installer and 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"
path: "{{ ruby_rvm_temp_download_path }}/rvm-installer.sh"
mode: 0755
when: not rvm_binary.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"
command: '{{ ruby_rvm_temp_download_path }}/rvm-installer.sh --path {{ ruby_rvm_install_path }} stable'
when: not rvm_binary.stat.exists
- name: ensure rvm is upgraded
shell: "{{ ruby_rvm_install_path }}/bin/rvm get stable && {{ ruby_rvm_install_path }}/bin/rvm reload"
shell: '{{ ruby_rvm }} get stable && {{ ruby_rvm }} reload'
when: rvm_binary.stat.exists and rvm_stable_version_number.content|default(ruby_rvm_stable_version_number)|replace("\n", "") > rvm_current_version.stdout.split()[1]
- name: ensure rvm installs ruby dependencies
command: "{{ ruby_rvm_install_path }}/bin/rvm autolibs 3"
command: '{{ ruby_rvm }} autolibs 3'
when: not rvm_binary.stat.exists
- name: detect if ruby version is installed
stat: path={{ ruby_rvm_install_path }}/rubies/ruby-{{ ruby_version }}
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 }}"
command: '{{ ruby_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"
command: '{{ ruby_rvm }} alias list default'
changed_when: false
register: ruby_selected
- name: ensure default ruby is selected
command: "{{ ruby_rvm_install_path }}/bin/rvm alias create default ruby-{{ ruby_version }}"
command: '{{ ruby_rvm }} alias create default ruby-{{ ruby_version }}'
when: ruby_selected.stdout == '' or ruby_version not in ruby_selected.stdout