Sha256: 0f73d81631e333179833f5c00ebeb26bab043bb5468c68f64eb69b4f86877dc7

Contents?: true

Size: 868 Bytes

Versions: 3

Compression:

Stored size: 868 Bytes

Contents

module Sprinkle
  module Installers
    class Gem < Installer
      attr_accessor :gem

      def initialize(parent, gem, options = {}, &block)
        super parent, options, &block
        @gem = gem
      end

      def source(location = nil)
        # package defines an installer called source so here we specify a method directly
        # rather than rely on the automatic options processing since packages' method missing
        # won't be run
        return @options[:source] unless location
        @options[:source] = location
      end

      protected

        # rubygems 0.9.5+ installs dependencies by default, and does platform selection

        def install_sequence
          cmd = "gem install #{gem}"
          cmd << " --version '#{version}'" if version
          cmd << " --source #{source}" if source
          cmd
        end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
crafterm-sprinkle-0.1.0 lib/sprinkle/installers/gem.rb
crafterm-sprinkle-0.1.1 lib/sprinkle/installers/gem.rb
crafterm-sprinkle-0.1.2 lib/sprinkle/installers/gem.rb