Sha256: eea1c1e7b9bfadc39d368834abba9839da72c63c2626c37e3b2595c561c3ec58

Contents?: true

Size: 1.7 KB

Versions: 12

Compression:

Stored size: 1.7 KB

Contents

#
# Cookbook Name:: rvm
# Provider:: wrapper
#
# Author:: Fletcher Nichol <fnichol@nichol.ca>
#
# Copyright 2011, Fletcher Nichol
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

action :create do
  ruby_string = normalize_ruby_string(new_resource.ruby_string)
  if new_resource.binary.nil?
    binaries = new_resource.binaries || []
  else
    binaries = [ new_resource.binary ] || []
  end

  # ensure ruby is installed and gemset exists
  unless env_exists?(ruby_string)
    e = rvm_environment ruby_string do
      action :nothing
    end
    e.run_action(:create)
  end

  env = RVM::Environment.new
  env.use ruby_string

  binaries.each do |b|
    full_bin = "#{new_resource.prefix}_#{b}"
    resource_name = "rvm_wrapper[#{full_bin}::#{ruby_string}]"
    script = ::File.join(::File.dirname(node['rvm']['root_path']), "bin", full_bin)

    if ::File.exists?(script)
      Chef::Log.debug("#{resource_name} already exists, so updating")
    else
      Chef::Log.info("Creating #{resource_name}")
    end

    if env.wrapper ruby_string, new_resource.prefix, b
      Chef::Log.debug("Creation/Update of #{resource_name} was successful.")
    else
      Chef::Log.warn("Failed to create/update #{resource_name}.")
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
rails-up-0.0.1 templates/chef/cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.12 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.11 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.10 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.9 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.8 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.7 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.6 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.5 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.4 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.3 cookbooks/rvm/providers/wrapper.rb
flombe-0.1.0.2 cookbooks/rvm/providers/wrapper.rb