from-scratch 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Berksfile +1 -7
- data/Berksfile.lock +6 -0
- data/README.md +8 -3
- data/bin/scratchify +1 -1
- data/cookbooks/ruby_build/CHANGELOG.md +72 -0
- data/cookbooks/ruby_build/README.md +338 -0
- data/cookbooks/ruby_build/attributes/default.rb +67 -0
- data/cookbooks/ruby_build/libraries/ruby_build_recipe_helpers.rb +40 -0
- data/cookbooks/ruby_build/metadata.json +39 -0
- data/cookbooks/ruby_build/providers/ruby.rb +88 -0
- data/cookbooks/ruby_build/recipes/default.rb +69 -0
- data/cookbooks/ruby_build/resources/ruby.rb +33 -0
- data/cookbooks/ruby_rbenv/CHANGELOG.md +221 -0
- data/cookbooks/ruby_rbenv/README.md +1059 -0
- data/cookbooks/ruby_rbenv/attributes/default.rb +73 -0
- data/cookbooks/ruby_rbenv/libraries/chef_provider_package_rbenvrubygems.rb +94 -0
- data/cookbooks/ruby_rbenv/libraries/chef_rbenv_mixin.rb +49 -0
- data/cookbooks/ruby_rbenv/libraries/chef_rbenv_recipe_helpers.rb +118 -0
- data/cookbooks/ruby_rbenv/libraries/chef_rbenv_script_helpers.rb +79 -0
- data/cookbooks/ruby_rbenv/libraries/matchers.rb +25 -0
- data/cookbooks/ruby_rbenv/metadata.json +1 -0
- data/cookbooks/ruby_rbenv/providers/global.rb +53 -0
- data/cookbooks/ruby_rbenv/providers/plugin.rb +55 -0
- data/cookbooks/ruby_rbenv/providers/rehash.rb +45 -0
- data/cookbooks/ruby_rbenv/providers/ruby.rb +123 -0
- data/cookbooks/ruby_rbenv/providers/script.rb +81 -0
- data/cookbooks/ruby_rbenv/recipes/default.rb +23 -0
- data/cookbooks/ruby_rbenv/recipes/system.rb +52 -0
- data/cookbooks/ruby_rbenv/recipes/system_install.rb +45 -0
- data/cookbooks/ruby_rbenv/recipes/user.rb +76 -0
- data/cookbooks/ruby_rbenv/recipes/user_install.rb +48 -0
- data/cookbooks/ruby_rbenv/resources/gem.rb +44 -0
- data/cookbooks/ruby_rbenv/resources/global.rb +33 -0
- data/cookbooks/ruby_rbenv/resources/plugin.rb +15 -0
- data/cookbooks/ruby_rbenv/resources/rehash.rb +29 -0
- data/cookbooks/ruby_rbenv/resources/ruby.rb +43 -0
- data/cookbooks/ruby_rbenv/resources/script.rb +39 -0
- data/cookbooks/ruby_rbenv/templates/default/rbenv.sh.erb +15 -0
- data/cookbooks/scratchify/Berksfile +1 -7
- data/cookbooks/scratchify/Berksfile.lock +6 -0
- data/cookbooks/scratchify/README.md +8 -3
- data/cookbooks/scratchify/bin/scratchify +1 -1
- data/cookbooks/scratchify/from-scratch.gemspec +1 -0
- data/cookbooks/scratchify/lib/from-scratch.rb +51 -9
- data/cookbooks/scratchify/lib/from-scratch/version.rb +2 -2
- data/cookbooks/scratchify/metadata.json +2 -1
- data/cookbooks/scratchify/spec/from/scratch_spec.rb +62 -5
- data/cookbooks/scratchify/spec/spec_helper.rb +8 -1
- data/cookbooks/scratchify/templates/node.json.erb +28 -7
- data/cookbooks/scratchify/templates/user.json.erb +1 -1
- data/from-scratch.gemspec +1 -0
- data/lib/from-scratch.rb +51 -9
- data/lib/from-scratch/version.rb +2 -2
- data/metadata.rb +1 -0
- data/templates/node.json.erb +28 -7
- data/templates/user.json.erb +1 -1
- metadata +50 -3
@@ -0,0 +1,73 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Attributes:: default
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
# git repository containing rbenv
|
23
|
+
default['rbenv']['git_url'] = 'git://github.com/sstephenson/rbenv.git'
|
24
|
+
default['rbenv']['git_ref'] = 'v0.4.0'
|
25
|
+
|
26
|
+
# upgrade action strategy
|
27
|
+
default['rbenv']['upgrade'] = 'none'
|
28
|
+
|
29
|
+
# plugins to install
|
30
|
+
default['rbenv']['plugins'] = []
|
31
|
+
|
32
|
+
# extra system-wide tunables
|
33
|
+
default['rbenv']['root_path'] = '/usr/local/rbenv'
|
34
|
+
default['rbenv']['vagrant']['system_chef_solo'] = '/opt/ruby/bin/chef-solo'
|
35
|
+
|
36
|
+
# a list of user hashes, each an isolated per-user rbenv installation
|
37
|
+
default['rbenv']['user_installs'] = []
|
38
|
+
|
39
|
+
# list of additional rubies that will be installed
|
40
|
+
default['rbenv']['rubies'] = []
|
41
|
+
default['rbenv']['user_rubies'] = []
|
42
|
+
|
43
|
+
# hash of rubies and their list of additional gems to be installed.
|
44
|
+
default['rbenv']['gems'] = {}
|
45
|
+
default['rbenv']['user_gems'] = {}
|
46
|
+
|
47
|
+
# list of rbenv plugins to install
|
48
|
+
default['rbenv']['plugins'] = []
|
49
|
+
default['rbenv']['user_plugins'] = []
|
50
|
+
|
51
|
+
# whether to create profile.d shell script
|
52
|
+
default['rbenv']['create_profiled'] = true
|
53
|
+
|
54
|
+
case node['platform_family']
|
55
|
+
when 'rhel', 'fedora'
|
56
|
+
default['rbenv']['install_pkgs'] = %w(git grep)
|
57
|
+
default['rbenv']['user_home_root'] = '/home'
|
58
|
+
when 'debian', 'suse'
|
59
|
+
default['rbenv']['install_pkgs'] = %w(git-core grep)
|
60
|
+
default['rbenv']['user_home_root'] = '/home'
|
61
|
+
when 'mac_os_x'
|
62
|
+
default['rbenv']['install_pkgs'] = %w(git)
|
63
|
+
default['rbenv']['user_home_root'] = '/Users'
|
64
|
+
when 'freebsd'
|
65
|
+
default['rbenv']['install_pkgs'] = %w(git)
|
66
|
+
default['rbenv']['user_home_root'] = '/usr/home'
|
67
|
+
when 'gentoo'
|
68
|
+
default['rbenv']['install_pkgs'] = %w(git)
|
69
|
+
default['rbenv']['user_home_root'] = '/home'
|
70
|
+
when 'arch'
|
71
|
+
default['rbenv']['install_pkgs'] = %w(git grep)
|
72
|
+
default['rbenv']['user_home_root'] = '/home'
|
73
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Provider:: Chef::Provider::Package::RbenvRubygems
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
require 'etc'
|
22
|
+
|
23
|
+
class Chef
|
24
|
+
module Rbenv
|
25
|
+
module Mixin
|
26
|
+
module ShellOut
|
27
|
+
# stub to satisfy RbenvRubygems (library load order not guarenteed)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
module ScriptHelpers
|
32
|
+
# stub to satisfy RbenvRubygems (library load order not guarenteed)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class Provider
|
37
|
+
class Package
|
38
|
+
class RbenvRubygems < Chef::Provider::Package::Rubygems
|
39
|
+
class RbenvGemEnvironment < AlternateGemEnvironment
|
40
|
+
attr_reader :rbenv_version, :rbenv_user
|
41
|
+
|
42
|
+
include Chef::Rbenv::Mixin::ShellOut
|
43
|
+
|
44
|
+
def initialize(gem_binary_location, rbenv_version, rbenv_user = nil)
|
45
|
+
super(gem_binary_location)
|
46
|
+
@rbenv_version = rbenv_version
|
47
|
+
@rbenv_user = rbenv_user
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
attr_reader :rbenv_user
|
52
|
+
|
53
|
+
include Chef::Rbenv::Mixin::ShellOut
|
54
|
+
include Chef::Rbenv::ScriptHelpers
|
55
|
+
|
56
|
+
def initialize(new_resource, run_context = nil)
|
57
|
+
super
|
58
|
+
normalize_version
|
59
|
+
@new_resource.gem_binary(wrap_shim_cmd('gem'))
|
60
|
+
@rbenv_user = new_resource.respond_to?('user') ? new_resource.user : nil
|
61
|
+
@gem_env = RbenvGemEnvironment.new(
|
62
|
+
gem_binary_path, new_resource.rbenv_version, rbenv_user)
|
63
|
+
end
|
64
|
+
|
65
|
+
def install_package(name, version)
|
66
|
+
run_as_user(rbenv_user) { super }
|
67
|
+
rehash
|
68
|
+
true
|
69
|
+
end
|
70
|
+
|
71
|
+
def remove_package(name, version)
|
72
|
+
run_as_user(rbenv_user) { super }
|
73
|
+
rehash
|
74
|
+
true
|
75
|
+
end
|
76
|
+
|
77
|
+
private
|
78
|
+
|
79
|
+
# converts "global" to the current global ruby version
|
80
|
+
def normalize_version
|
81
|
+
@new_resource.rbenv_version(current_global_version) if @new_resource.rbenv_version == 'global'
|
82
|
+
end
|
83
|
+
|
84
|
+
def rehash
|
85
|
+
e = ::Chef::Resource::RubyRbenvRehash.new(new_resource.name, @run_context)
|
86
|
+
e.root_path rbenv_root
|
87
|
+
e.user rbenv_user if rbenv_user
|
88
|
+
e.action :nothing
|
89
|
+
e.run_action(:run)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Library:: Chef::Rbenv::Mixin
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
class Chef
|
23
|
+
module Rbenv
|
24
|
+
module Mixin
|
25
|
+
module ShellOut
|
26
|
+
def shell_out!(*command_args)
|
27
|
+
options = command_args.last.is_a?(Hash) ? command_args.pop : {}
|
28
|
+
options[:env] = shell_environment.merge(options[:env] || {})
|
29
|
+
|
30
|
+
super(*command_args.push(options))
|
31
|
+
end
|
32
|
+
|
33
|
+
def shell_environment
|
34
|
+
if rbenv_user
|
35
|
+
{ 'USER' => rbenv_user, 'HOME' => Etc.getpwnam(rbenv_user).dir }
|
36
|
+
else
|
37
|
+
{}
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
module ResourceString
|
43
|
+
def to_s
|
44
|
+
"#{@resource_name}[#{@rbenv_version || 'global'}::#{@name}] (#{@user || 'system'})"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,118 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Library:: Chef::RubyBuild::RecipeHelpers
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
class Chef
|
23
|
+
module Rbenv
|
24
|
+
module RecipeHelpers
|
25
|
+
def build_upgrade_strategy(strategy)
|
26
|
+
if strategy.nil? || strategy == false
|
27
|
+
'none'
|
28
|
+
else
|
29
|
+
strategy
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def mac_with_no_homebrew
|
34
|
+
node['platform'] == 'mac_os_x' &&
|
35
|
+
Chef::Platform.find_provider_for_node(node, :package) !=
|
36
|
+
Chef::Provider::Package::Homebrew
|
37
|
+
end
|
38
|
+
|
39
|
+
def install_rbenv_pkg_prereqs
|
40
|
+
return if mac_with_no_homebrew
|
41
|
+
|
42
|
+
package node['rbenv']['install_pkgs']
|
43
|
+
end
|
44
|
+
|
45
|
+
def install_or_upgrade_rbenv(opts = {})
|
46
|
+
git_deploy_rbenv opts
|
47
|
+
initialize_rbenv opts
|
48
|
+
add_rbenv_to_path
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
def git_deploy_rbenv(opts)
|
54
|
+
if opts[:upgrade_strategy] == 'none'
|
55
|
+
git_exec_action = :checkout
|
56
|
+
else
|
57
|
+
git_exec_action = :sync
|
58
|
+
end
|
59
|
+
|
60
|
+
git opts[:rbenv_prefix] do
|
61
|
+
repository opts[:git_url]
|
62
|
+
reference opts[:git_ref]
|
63
|
+
user opts[:user] if opts[:user]
|
64
|
+
group opts[:group] if opts[:group]
|
65
|
+
action git_exec_action
|
66
|
+
end
|
67
|
+
|
68
|
+
directory "#{opts[:rbenv_prefix]}/plugins" do
|
69
|
+
owner opts[:user].nil? ? 'root' : opts[:user]
|
70
|
+
mode '0755'
|
71
|
+
end
|
72
|
+
|
73
|
+
Array(opts[:rbenv_plugins]).each do |plugin|
|
74
|
+
revision = plugin['revision'].nil? ? 'master' : plugin['revision']
|
75
|
+
plugin_path = "#{opts[:rbenv_prefix]}/plugins/#{plugin['name']}"
|
76
|
+
|
77
|
+
git "Install rbenv plugin - #{plugin['name']}" do
|
78
|
+
repository plugin['git_url']
|
79
|
+
destination plugin_path
|
80
|
+
reference revision
|
81
|
+
user opts[:user] if opts[:user]
|
82
|
+
group opts[:group] if opts[:group]
|
83
|
+
action :sync
|
84
|
+
end
|
85
|
+
log "Installed rbenv plugin - #{plugin['name']}"
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def initialize_rbenv(opts)
|
90
|
+
prefix = opts[:rbenv_prefix]
|
91
|
+
|
92
|
+
if opts[:user]
|
93
|
+
init_env = { 'USER' => opts[:user], 'HOME' => opts[:home_dir] }
|
94
|
+
else
|
95
|
+
init_env = {}
|
96
|
+
end
|
97
|
+
|
98
|
+
bash "Initialize rbenv (#{opts[:user] || 'system'})" do
|
99
|
+
code %(PATH="#{prefix}/bin:$PATH" rbenv init -)
|
100
|
+
environment({ 'RBENV_ROOT' => prefix }.merge(init_env))
|
101
|
+
user opts[:user] if opts[:user]
|
102
|
+
group opts[:group] if opts[:group]
|
103
|
+
end
|
104
|
+
|
105
|
+
log "rbenv-post-init-#{opts[:user] || 'system'}"
|
106
|
+
end
|
107
|
+
|
108
|
+
def add_rbenv_to_path
|
109
|
+
ruby_block 'Add rbenv to PATH' do
|
110
|
+
block do
|
111
|
+
rbenv_root = node['rbenv']['root_path']
|
112
|
+
ENV['PATH'] = "#{rbenv_root}/shims:#{rbenv_root}/bin:#{ENV['PATH']}"
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: ruby_rbenv
|
3
|
+
# Library:: Chef::Rbenv::ShellHelpers
|
4
|
+
#
|
5
|
+
# Author:: Fletcher Nichol <fnichol@nichol.ca>
|
6
|
+
#
|
7
|
+
# Copyright 2011, Fletcher Nichol
|
8
|
+
#
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
|
+
# you may not use this file except in compliance with the License.
|
11
|
+
# You may obtain a copy of the License at
|
12
|
+
#
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
#
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
# See the License for the specific language governing permissions and
|
19
|
+
# limitations under the License.
|
20
|
+
#
|
21
|
+
|
22
|
+
class Chef
|
23
|
+
module Rbenv
|
24
|
+
module ScriptHelpers
|
25
|
+
def rbenv_root
|
26
|
+
if new_resource.root_path
|
27
|
+
new_resource.root_path
|
28
|
+
elsif new_resource.user
|
29
|
+
::File.join(user_home, '.rbenv')
|
30
|
+
else
|
31
|
+
node['rbenv']['root_path']
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def user_home
|
36
|
+
return nil unless new_resource.user
|
37
|
+
|
38
|
+
Etc.getpwnam(new_resource.user).dir
|
39
|
+
end
|
40
|
+
|
41
|
+
def which_rbenv
|
42
|
+
"(#{new_resource.user || 'system'})"
|
43
|
+
end
|
44
|
+
|
45
|
+
def current_global_version
|
46
|
+
version_file = ::File.join(rbenv_root, 'version')
|
47
|
+
|
48
|
+
::File.exist?(version_file) && ::IO.read(version_file).chomp
|
49
|
+
end
|
50
|
+
|
51
|
+
def wrap_shim_cmd(cmd)
|
52
|
+
[%(export RBENV_ROOT="#{rbenv_root}"),
|
53
|
+
%(export PATH="$RBENV_ROOT/bin:$RBENV_ROOT/shims:$PATH"),
|
54
|
+
%(export RBENV_VERSION="#{new_resource.rbenv_version}"),
|
55
|
+
%($RBENV_ROOT/shims/#{cmd})
|
56
|
+
].join(' && ')
|
57
|
+
end
|
58
|
+
|
59
|
+
def set_updated
|
60
|
+
r = yield
|
61
|
+
new_resource.updated_by_last_action(r.updated_by_last_action?)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Execute the supplied block of code as the given user.
|
65
|
+
def run_as_user(username, &block)
|
66
|
+
if username
|
67
|
+
user = Etc.getpwnam(username)
|
68
|
+
Process.fork do
|
69
|
+
Process.uid = user.uid
|
70
|
+
block.call
|
71
|
+
end
|
72
|
+
Process.wait
|
73
|
+
else
|
74
|
+
block.call
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
if defined?(ChefSpec)
|
2
|
+
def install_rbenv_plugin(name)
|
3
|
+
ChefSpec::Matchers::ResourceMatcher.new(:rbenv_plugin, :install, name)
|
4
|
+
end
|
5
|
+
|
6
|
+
def run_rbenv_script(name)
|
7
|
+
ChefSpec::Matchers::ResourceMatcher.new(:rbenv_script, :run, name)
|
8
|
+
end
|
9
|
+
|
10
|
+
def install_rbenv_gem(name)
|
11
|
+
ChefSpec::Matchers::ResourceMatcher.new(:rbenv_gem, :install, name)
|
12
|
+
end
|
13
|
+
|
14
|
+
def upgrade_rbenv_gem(name)
|
15
|
+
ChefSpec::Matchers::ResourceMatcher.new(:rbenv_gem, :upgrade, name)
|
16
|
+
end
|
17
|
+
|
18
|
+
def remove_rbenv_gem(name)
|
19
|
+
ChefSpec::Matchers::ResourceMatcher.new(:rbenv_gem, :remove, name)
|
20
|
+
end
|
21
|
+
|
22
|
+
def purge_rbenv_gem(name)
|
23
|
+
ChefSpec::Matchers::ResourceMatcher.new(:rbenv_gem, :purge, name)
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"ruby_rbenv","version":"1.0.1","description":"Manages rbenv and its installed rubies. Several LWRPs are also defined.","long_description":"Please refer to README.md (it's long).","maintainer":"Fletcher Nichol","maintainer_email":"fnichol@nichol.ca","license":"Apache 2.0","platforms":{"ubuntu":">= 0.0.0","linuxmint":">= 0.0.0","debian":">= 0.0.0","freebsd":">= 0.0.0","redhat":">= 0.0.0","centos":">= 0.0.0","fedora":">= 0.0.0","amazon":">= 0.0.0","scientific":">= 0.0.0","suse":">= 0.0.0","mac_os_x":">= 0.0.0","gentoo":">= 0.0.0","arch":">= 0.0.0"},"dependencies":{"ruby_build":">= 0.0.0"},"recommendations":{"java":"> 1.4.0"},"suggestions":{},"conflicting":{},"providing":{},"replacing":{},"attributes":{},"groupings":{},"recipes":{}}
|