Sha256: 6651771d85ec5d1b0bbf4b50b17b5465eb073b42b329ea81c95786ee9174130e

Contents?: true

Size: 929 Bytes

Versions: 5

Compression:

Stored size: 929 Bytes

Contents

module PoolParty    
  module Resources
        
    class Gempackage < Resource
      
      # When we call gempackage, we want the exec to run on the directory we suggest
      # we also only want it to run if there is NOT a local gem already installed with
      # the package details (version and name)
      def loaded(opts={}, parent=self)
        has_exec(opts.merge({:name => name, :cwd => "/tmp", :path => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin"}), parent) do          
          command "gem install -y --no-ri --no-rdoc #{"--version #{version}" if version} #{"--source #{source}" if source} #{name}"
          ifnot "gem list --local #{name} | grep #{name} #{"| grep #{version}" if version}"
        end
      end
      def virtual_resource?
        true
      end
      def printable?
        true
      end
      def class_type_name
        "Exec"
      end
      
    end
    
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
auser-poolparty-0.2.15 lib/poolparty/pool/resources/gem.rb
auser-poolparty-0.2.16 lib/poolparty/pool/resources/gem.rb
auser-poolparty-0.2.20 lib/poolparty/pool/resources/gem_package.rb
auser-poolparty-0.2.21 lib/poolparty/pool/resources/gem_package.rb
poolparty-0.2.18 lib/poolparty/pool/resources/gem.rb