Sha256: e4819ade775a96df7bdecfb9df661bf43c0fa54d76dc18b521513549c0e8f0b2

Contents?: true

Size: 613 Bytes

Versions: 1

Compression:

Stored size: 613 Bytes

Contents

# frozen_string_literal: true

require "dry-container"
require "open3"

module Gemsmith
  # Provides a global gem container for injection into other objects.
  module Container
    extend Dry::Container::Mixin

    config.registry = ->(container, key, value, _options) { container[key.to_s] = value }

    merge Rubysmith::Container

    register(:configuration) { Gemsmith::Configuration::Loader.call }
    register(:specification) { Gemsmith::Gems::Loader.call "#{__dir__}/../../gemsmith.gemspec" }
    register(:environment) { ENV }
    register(:executor) { Open3 }
    register(:kernel) { Kernel }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gemsmith-16.0.0 lib/gemsmith/container.rb