Sha256: dceabb1af215345beae5c938c348054200926fede8421731301d06a7df3ad4f0

Contents?: true

Size: 629 Bytes

Versions: 6

Compression:

Stored size: 629 Bytes

Contents

# frozen_string_literal: true

require "modern/struct"

module Modern
  # The default services catalogue for a Modern app, and one that can be
  # extended by a consuming application to add additional services. Mixins
  # and multiple services from multiple packages can be done with `dry-struct`
  # but looks a little bizarre:
  #
  # https://discourse.dry-rb.org/t/dry-struct-reusing-a-set-of-common-attributes/315/3
  class Services < Modern::Struct
    LoggerType = Types.Instance(Ougai::Logger) | Types.Instance(Ougai::ChildLogger)

    attribute :base_logger, (LoggerType.default { Ougai::Logger.new($stderr) })
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
modern-0.5.0 lib/modern/services.rb
modern-0.4.6 lib/modern/services.rb
modern-0.4.5 lib/modern/services.rb
modern-0.4.4 lib/modern/services.rb
modern-0.4.3 lib/modern/services.rb
modern-0.4.2 lib/modern/services.rb