Sha256: caa70350da255157fbae33fdb3a7238644e416396a972c8f316e1003f40a6f36

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

module PoolParty    
  class Gem
        
    define_resource(:gem_package) do
      
      def has_gem_package(opts={})
        call_function <<-EOE
gem_package { "#{opts[:package] || opts[:name]}":
  source => "#{opts[:source] || "http://gems.github.com" }",
  package => "#{opts[:package] || opts[:name]}"
}
        EOE
      end
      
      custom_function <<-EOF
      define gem_package ($source = "http://gems", $version, $package=false) {
        include ruby

        if $version {
          exec { "gem-package-$package":
            path => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin",
            cwd => "/tmp",
            command => "gem install --source $source --version \"$version\" $package",
            unless => "gem list --local $package | grep \"$package\" | grep \"$version\""
          }
        } else {
          exec { "gem-package-$package":
            path => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin",
            cwd => "/tmp",
            command => "gem install --source $source $package",
            unless => "gem list --local $package | grep \"$package\"
          }
        }
      }
      EOF
    end
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
auser-poolparty-0.2.2 lib/poolparty/plugins/gem_package.rb