1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# 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)
}
}
|