Sha256: 7b9a1c2cfdc4b5339cc5fc77703633767cf57146ed2e4364aaff74d73bfc784d

Contents?: true

Size: 843 Bytes

Versions: 3

Compression:

Stored size: 843 Bytes

Contents

# frozen_string_literal: true
class Shoes
  class Packager
    attr_reader :backend

    def initialize
      @backend = Shoes.backend_for(self)
      configure_gems
    rescue ArgumentError
      # Packaging unsupported by this backend
    end

    def options
      @backend.options
    end

    def parse!(args)
      options.parse!(args)
    end

    def run(path)
      raise "Packaging unsupported by this backend" if @backend.nil?
      @backend.run(path)
    end

    def configure_gems
      @backend.gems = []
      return unless defined?(::Bundler)

      @backend.gems = ::Bundler.environment.specs.map(&:name) - ["shoes"]
    rescue Bundler::GemfileNotFound
      # Ok to be quiet since we didn't even have a Gemfile
    rescue => e
      Shoes.logger.error "Looking up gems for packaging failed:\n#{e.message}"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
shoes-core-4.0.0.pre12 lib/shoes/packager.rb
shoes-core-4.0.0.pre11 lib/shoes/packager.rb
shoes-core-4.0.0.pre10 lib/shoes/packager.rb