Sha256: a8ce4f78f167b6844be7a9e128ec7c5e401bac853b2c371bae7e20ab50624c45

Contents?: true

Size: 701 Bytes

Versions: 15

Compression:

Stored size: 701 Bytes

Contents

# frozen_string_literal: true

require "dry/container"
require "open3"
require "spek"

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

    # TODO: Remove once Rubysmith and Gemsmith configurations can coexist together.
    config.registry = -> container, key, value, _options { container[key.to_s] = value }

    merge Rubysmith::Container

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

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
gemsmith-19.8.0 lib/gemsmith/container.rb
gemsmith-19.7.0 lib/gemsmith/container.rb
gemsmith-19.6.0 lib/gemsmith/container.rb
gemsmith-19.5.2 lib/gemsmith/container.rb
gemsmith-19.5.1 lib/gemsmith/container.rb
gemsmith-19.5.0 lib/gemsmith/container.rb
gemsmith-19.4.0 lib/gemsmith/container.rb
gemsmith-19.3.0 lib/gemsmith/container.rb
gemsmith-19.2.0 lib/gemsmith/container.rb
gemsmith-19.1.0 lib/gemsmith/container.rb
gemsmith-19.0.0 lib/gemsmith/container.rb
gemsmith-18.9.0 lib/gemsmith/container.rb
gemsmith-18.8.0 lib/gemsmith/container.rb
gemsmith-18.7.0 lib/gemsmith/container.rb
gemsmith-18.6.0 lib/gemsmith/container.rb