# Class: ruby # # This class installs Ruby # # Parameters: # # version: (default installed) # Set the version of Ruby to install # # Sample Usage: # # For a standard install using the latest ruby, simply do: # # class { 'ruby': } # # On Debian this is equivilant to # $ apt-get install ruby # # To install a specific version of ruby, simply do: # # class { 'ruby': # ruby_version => '1.8.7', # } # # Supported versions: 1.8, 1.8.7, 1.9, 1.9.1, 1.9.3 # # To install the development files, you can do: # # class { 'ruby': install_dev => true } class ruby ( $ruby_version = '', $version = 'installed', $install_dev = false ) { case $::operatingsystem { 'redhat', 'suse': { $ruby_package='ruby' $ruby_dev='ruby-devel' } 'debian', 'ubuntu': { case $ruby_version { '1.8', '1.8.7': { $ruby_package = 'ruby1.8' $ruby_dev = [ 'ruby1.8-dev', 'rake' ] } '1.9.1': { $ruby_package = 'ruby1.9.1' $ruby_dev = [ 'ruby1.9.1-dev', 'rake' ] } '1.9', '1.9.3': { $ruby_package = 'ruby1.9.3' $ruby_dev = [ 'ruby-dev', 'rake' ] } default: { $ruby_package = 'ruby' $ruby_dev = [ 'ruby-dev', 'rake' ] } } } } package{ $ruby_package: ensure => $version, } if $install_dev { ensure_packages($ruby_dev) } }