Class: MetaCommit::Container

Inherits:
Object
  • Object
show all
Includes:
Dry::Container::Mixin
Defined in:
lib/meta_commit/container.rb

Constant Summary collapse

BUILTIN_EXTENSION =
'builtin'

Instance Method Summary collapse

Constructor Details

#initializeContainer

Returns a new instance of Container.



8
9
10
11
12
# File 'lib/meta_commit/container.rb', line 8

def initialize
  super
  register :parser_classes, []
  register :diff_classes, []
end

Instance Method Details

#boot(config_store) ⇒ MetaCommit::Container

Parameters:

  • config_store (MetaCommit::ConfigStore)

Returns:



16
17
18
19
20
21
22
23
24
25
# File 'lib/meta_commit/container.rb', line 16

def boot(config_store)
  load_packages(config_store.get(:extensions))

  register :diff_factory, MetaCommit::Factories::DiffFactory.new(self[:diff_classes])
  register :parser_factory, MetaCommit::Factories::ParserFactory.new(self[:parser_classes])
  register :parse_command, MetaCommit::Services::Parse.new(self[:parser_factory])
  register :contextual_ast_node_factory, MetaCommit::Factories::ContextualAstNodeFactory.new

  self
end