Sha256: 3d0f2f2d4b93af2f7593e74afebeab5596c76596ccdb5f7365ae6bf86b7bd492

Contents?: true

Size: 980 Bytes

Versions: 2

Compression:

Stored size: 980 Bytes

Contents

module Pumper
  class Pump
    def initialize(options)
      @options = options
    end

    def perform
      project = UpdatingProject.new(options[:project], options[:absolute_path])
      commands = Command::Repository.new(options)

      commands.add(Command::GemRebuildCommand)
      commands.add(Command::GemUninstallCommand, { gem_name: specification.name })

      if options[:vendor]
        commands.add(Command::GemInstallToVendorCommand, { project_path: project.path, gem_name: specification.name })
      else
        commands.add(
          Command::GemInstallCommand,
          {
            gem_name: specification.name,
            gem_file_name: specification.gem_file_name,
            project_path: project.path
          }
        )
      end

      project.bump_version!(specification)
      commands.execute
    end

    private

    attr_reader :options

    def specification
      @specification ||= Specification.new(options[:gemspec])
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pumper-1.0.1 lib/pumper/pump.rb
pumper-0.0.1 lib/pumper/pump.rb