--- - name: Install packages required to build ruby (RedHat). yum: "name={{ item }} state=present" with_items: - '@development' - zlib-devel - openssl-static when: ansible_os_family == 'RedHat' - name: Update apt cache (Debian). apt: update_cache=yes cache_valid_time=86400 when: ansible_os_family == 'Debian' - name: Install packages required to build ruby (Debian). apt: "name={{ item }} state=present" with_items: - build-essential - zlib1g-dev - libssl-dev - libyaml-dev - libreadline6-dev - zlib1g-dev - libncurses5-dev - libffi-dev - libgdbm3 - libgdbm-dev when: ansible_os_family == 'Debian' - name: Download ruby. get_url: url: "{{ ruby_download_url }}" dest: "{{ workspace }}/ruby-{{ ruby_version }}.tar.gz" - name: Extract ruby. unarchive: src: "{{ workspace }}/ruby-{{ ruby_version }}.tar.gz" dest: "{{ workspace }}/" copy: no - name: Build ruby. command: > {{ item }} chdir={{ workspace }}/ruby-{{ ruby_version }} creates=/usr/local/bin/ruby with_items: - ./configure --enable-shared - make - make install - name: Add ruby symlinks. file: src: "/usr/local/bin/{{ item }}" dest: "/usr/bin/{{ item }}" state: link force: yes with_items: - erb - gem - irb - rake - rdoc - ruby