Sha256: 5120b40a52f185742ed096048932bea033111be31266fc90c5ba30e0a935ea17

Contents?: true

Size: 844 Bytes

Versions: 1

Compression:

Stored size: 844 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

1 entries across 1 versions & 1 rubygems

Version Path
shoes-core-4.0.0.rc1 lib/shoes/packager.rb