serverkit-rbenv 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +20 -2
- data/lib/serverkit/rbenv/version.rb +1 -1
- data/lib/serverkit/resources/rbenv_profile.rb +13 -2
- data/lib/serverkit/resources/rbenv_ruby.rb +23 -6
- data/serverkit-rbenv.gemspec +2 -1
- metadata +19 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9e0a154d70b5221a4172560e036b057f0dae64a
|
4
|
+
data.tar.gz: b226ef7916adacdd999cc47aa6df47e797f1e68a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04480a54aa224aa0e002916eac40de72d88cded7e8242be22b9dda126c7408eb7b5b45ea546813cde4d64893a0bcbdbd2a99f50875d30c7f0bd20d3c3961bd79
|
7
|
+
data.tar.gz: 485394d614b16c75ceb9992233947902314dc6b58b2f2be99f1762eaf8bff9deab3aa0684e4a615e7fcc70c0ccb2d7520e008ed76f66a57f57a13819e98e9038
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -19,7 +19,7 @@ Make sure the specified version of Ruby is installed with rbenv.
|
|
19
19
|
#### Attributes
|
20
20
|
- version - Installed Ruby version (required) (e.g. `"2.2.0"`)
|
21
21
|
- global - Pass true to make it global (default: `false`)
|
22
|
-
- rbenv_executable_path - Path to rbenv executable (default:
|
22
|
+
- rbenv_executable_path - Path to rbenv executable (default: $HOME/.rbenv/bin/rbenv or rbenv)
|
23
23
|
- user - user name (required if dependencies is true)
|
24
24
|
- dependencies - Pass true to install rbenv, ruby-build, their dependencies, profile script
|
25
25
|
- profile_path - Where to append init script for rbenv (required if dependencies is true)
|
@@ -30,6 +30,10 @@ resources:
|
|
30
30
|
- type: rbenv_ruby
|
31
31
|
version: 2.2.0
|
32
32
|
global: true
|
33
|
+
rbenv_executable_path: /home/foo/.rbenv/bin/rbenv
|
34
|
+
user: foo
|
35
|
+
dependencies: true
|
36
|
+
profile_path: /home/foo/.bash_profile
|
33
37
|
```
|
34
38
|
|
35
39
|
### rbenv_dependent_packages
|
@@ -41,6 +45,20 @@ resources:
|
|
41
45
|
- type: rbenv_dependent_packages
|
42
46
|
```
|
43
47
|
|
48
|
+
### rbenv_profile
|
49
|
+
Append rbenv init lines into profile file.
|
50
|
+
|
51
|
+
#### Attributes
|
52
|
+
- profile_path - path to profile file (default: .bash_profile path if user specified)
|
53
|
+
- user - user name (required)
|
54
|
+
|
55
|
+
#### Example
|
56
|
+
```yml
|
57
|
+
resources:
|
58
|
+
- type: rbenv_profile
|
59
|
+
user: foo
|
60
|
+
```
|
61
|
+
|
44
62
|
### rbenv_rbenv
|
45
63
|
Install rbenv into home directory.
|
46
64
|
|
@@ -54,7 +72,7 @@ resources:
|
|
54
72
|
user: foo
|
55
73
|
```
|
56
74
|
|
57
|
-
###
|
75
|
+
### rbenv_ruby_build
|
58
76
|
Install ruby-build into home directory.
|
59
77
|
|
60
78
|
#### Attributes
|
@@ -3,7 +3,8 @@ require "serverkit/resources/base"
|
|
3
3
|
module Serverkit
|
4
4
|
module Resources
|
5
5
|
class RbenvProfile < Base
|
6
|
-
attribute :profile_path,
|
6
|
+
attribute :profile_path, type: String
|
7
|
+
attribute :user, at_least_one_of: [:profile_path], type: String
|
7
8
|
|
8
9
|
# @note Override
|
9
10
|
def apply
|
@@ -23,13 +24,18 @@ module Serverkit
|
|
23
24
|
resource = Serverkit::Resources::Line.new(
|
24
25
|
@recipe,
|
25
26
|
"line" => line,
|
26
|
-
"path" =>
|
27
|
+
"path" => proper_profile_path,
|
27
28
|
)
|
28
29
|
resource.backend = backend
|
29
30
|
resource
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
34
|
+
# @return [String]
|
35
|
+
def get_user_home_directory
|
36
|
+
run_command_from_identifier(:get_user_home_directory, user).stdout.rstrip
|
37
|
+
end
|
38
|
+
|
33
39
|
# @return [Array<String>]
|
34
40
|
def lines
|
35
41
|
[
|
@@ -37,6 +43,11 @@ module Serverkit
|
|
37
43
|
%<eval "$(rbenv init -)">,
|
38
44
|
]
|
39
45
|
end
|
46
|
+
|
47
|
+
# @return [String]
|
48
|
+
def proper_profile_path
|
49
|
+
@proper_profile_path ||= profile_path || "#{get_user_home_directory}/.bash_profile"
|
50
|
+
end
|
40
51
|
end
|
41
52
|
end
|
42
53
|
end
|
@@ -9,7 +9,7 @@ module Serverkit
|
|
9
9
|
attribute :dependencies, type: [TrueClass, FalseClass]
|
10
10
|
attribute :global, default: DEFAULT_GLOBAL, type: [FalseClass, TrueClass]
|
11
11
|
attribute :profile_path, type: String
|
12
|
-
attribute :rbenv_executable_path,
|
12
|
+
attribute :rbenv_executable_path, type: String
|
13
13
|
attribute :version, required: true, type: String
|
14
14
|
|
15
15
|
# Install the specified version of Ruby with rbenv if rbenv is executable
|
@@ -51,8 +51,13 @@ module Serverkit
|
|
51
51
|
version
|
52
52
|
end
|
53
53
|
|
54
|
+
# @return [String]
|
55
|
+
def get_user_home_directory
|
56
|
+
run_command_from_identifier(:get_user_home_directory, user).stdout.rstrip
|
57
|
+
end
|
58
|
+
|
54
59
|
def global_version
|
55
|
-
run_command("#{
|
60
|
+
run_command("#{proper_rbenv_executable_path} global").stdout.rstrip
|
56
61
|
end
|
57
62
|
|
58
63
|
def has_correct_dependencies?
|
@@ -66,12 +71,12 @@ module Serverkit
|
|
66
71
|
|
67
72
|
# @return [true, false] True if rbenv command is executable
|
68
73
|
def has_rbenv?
|
69
|
-
check_command("which #{
|
74
|
+
check_command("which #{proper_rbenv_executable_path}")
|
70
75
|
end
|
71
76
|
|
72
77
|
# @return [true, false] True if the specified version of Ruby is installed
|
73
78
|
def has_specified_ruby_version?
|
74
|
-
check_command("#{
|
79
|
+
check_command("#{proper_rbenv_executable_path} prefix #{version}")
|
75
80
|
end
|
76
81
|
|
77
82
|
def install_dependencies
|
@@ -79,11 +84,23 @@ module Serverkit
|
|
79
84
|
end
|
80
85
|
|
81
86
|
def install_specified_ruby_version
|
82
|
-
run_command("#{
|
87
|
+
run_command("#{proper_rbenv_executable_path} install #{version}")
|
88
|
+
end
|
89
|
+
|
90
|
+
# @return [String]
|
91
|
+
def proper_rbenv_executable_path
|
92
|
+
case
|
93
|
+
when rbenv_executable_path
|
94
|
+
rbenv_executable_path
|
95
|
+
when user
|
96
|
+
"#{get_user_home_directory}/.rbenv/bin/rbenv"
|
97
|
+
else
|
98
|
+
DEFAULT_RBENV_EXECUTABLE_PATH
|
99
|
+
end
|
83
100
|
end
|
84
101
|
|
85
102
|
def set_specified_global_version
|
86
|
-
run_command("#{
|
103
|
+
run_command("#{proper_rbenv_executable_path} global #{version}")
|
87
104
|
end
|
88
105
|
end
|
89
106
|
end
|
data/serverkit-rbenv.gemspec
CHANGED
@@ -16,7 +16,8 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
17
17
|
spec.require_paths = ["lib"]
|
18
18
|
|
19
|
-
spec.add_runtime_dependency "
|
19
|
+
spec.add_runtime_dependency "serverspec", ">= 0.6.2"
|
20
|
+
spec.add_runtime_dependency "specinfra", ">= 2.31.1"
|
20
21
|
spec.add_development_dependency "bundler", "~> 1.9"
|
21
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
22
23
|
end
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serverkit-rbenv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryo Nakamura
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: serverspec
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.6.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.6.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: specinfra
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.31.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.31.1
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|