class ROM::CreateContainer

@api private

Attributes

container[R]

@api private

Public Class Methods

new(environment, setup) click to toggle source

@api private

# File lib/rom/create_container.rb, line 15
def initialize(environment, setup)
  @container = finalize(environment, setup)
end

Private Instance Methods

finalize(environment, setup) click to toggle source

@api private

# File lib/rom/create_container.rb, line 22
def finalize(environment, setup)
  environment.configure do |config|
    environment.gateways.each_key do |key|
      gateway_config = config.gateways[key]
      gateway_config.infer_relations = true unless gateway_config.key?(:infer_relations)
    end
  end

  finalize = Finalize.new(
    gateways: environment.gateways,
    relation_classes: setup.relation_classes,
    command_classes: setup.command_classes,
    mappers: setup.mapper_classes,
    plugins: setup.plugins,
    notifications: setup.notifications,
    config: environment.config.dup.freeze
  )

  finalize.run!
end